0e999a7e5b77811346428dd01eb5c09a7dba1896
By:
gabe84700

Npm Install not working with User Data File

June 28, 2017 134 views
Node.js DigitalOcean Ubuntu 16.04

Hi all I'm looking to install dependencies using npm install, then run casperjs, all from droplet creation using --user-data-file:
doctl compute droplet create test1 --image node --size 4gb --region nyc1 --ssh-keys (omitted) --user-data-file su.sh --wait -t $DAT
with su.sh being:

apt-get update
apt-get --assume-yes install npm
sudo npm install -g phantomjs-prebuilt
sudo npm install -g casperjs
apt-get --assume-yes install libfontconfig

I'm also not able to redirect the output of those commands to files using > or 2>.
Is there a better way to install dependencies and start scripting in an automated way using Digital Ocean, or can my process be modified to success?

1 Answer
hansen June 28, 2017
Accepted Answer

Hi @gabe84700

You should be able to do it with this:

#!/bin/bash
apt-get update
apt-get -y install npm libfontconfig
npm install -g phantomjs-prebuilt
npm install -g casperjs

Have a look at this tutorial:
https://www.digitalocean.com/community/tutorials/an-introduction-to-droplet-metadata

Update CloudInit link and conclusion Metadata is a service provided to DigitalOcean droplets that allows a droplet to access data about itself, i.e. its metadata. Examples of available droplet metadata include user-provided user data, droplet ID, data center region,...
  • Thanks so much! Real OMG moment when I realized i had forgotten the shebang...beginner...i'll go through the tutorial

Have another answer? Share your knowledge.