Question
How can I install things with a user data script
Hey everyone!
I’m trying to create droplets with user data and this script https://github.com/do-community/automated-setups/blob/master/Ubuntu-18.04/initial_server_setup.sh.
I’d like to install node.js by adding these command lines to the script
curl -sL https://deb.nodesource.com/setup_10.x | -E bash -
apt-get install -y nodejs
But node.js isn’t installed when the droplet is created. These commands work just fine when executed afterward.
Did I miss something? Because it seems possible https://www.digitalocean.com/docs/droplets/resources/metadata/#how-to-provide-user-data :)
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
×
That seems like it should work. First tip: Check the cloud-init logs at
/var/log/cloud-init-output.log
any hints there as to what’s going wrong?Thanks for your answer. It helped a lot.
I had a look and nothing weird was in the logs, well there was not much in it actually. Nothing related to my commands.
So I tried several things and it appears that I explicitly didn’t use
sudo
to run my commands. I don’t know why, I thought I shouldn’t use it in the script. Running commands with sudo made it work.