Last active
October 13, 2017 14:25
-
-
Save prashcr/01d0ee571c3ae8a606ad to your computer and use it in GitHub Desktop.
Node.js starter kit for Ubuntu 14.04 Vagrant box on DigitalOcean
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
echo '>>> Creating swapfile' | |
sudo fallocate -l 2G /swapfile | |
sudo chmod 600 /swapfile | |
sudo mkswap /swapfile | |
sudo swapon /swapfile | |
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab' | |
echo '>>> Fixing locale issues' | |
sudo sh -c 'echo "LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8" > /etc/default/locale' | |
. /etc/default/locale | |
echo '>>> Updating Ubuntu packages' | |
sudo apt-get update | |
sudo apt-get -y dist-upgrade | |
echo '>>> Setting timezone and syncing with NTP' | |
# Find your timezone using timedatectl list-timezones or just use "UTC" | |
sudo timedatectl set-timezone ADD_YOUR_TIMEZONE_HERE | |
sudo apt-get -y install ntp | |
echo '>>> Installing nvm and node' | |
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash | |
. ~/.nvm/nvm.sh | |
nvm install node | |
nvm alias default node | |
nvm use node | |
npm i -g npm | |
echo '>>> Installing MongoDB' | |
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 | |
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list | |
sudo apt-get update | |
sudo apt-get -y install mongodb-org | |
echo '>>> Installing nginx' | |
sudo add-apt-repository ppa:nginx/stable | |
sudo apt-get update | |
sudo apt-get -y install nginx | |
echo '>>> Installing git' | |
sudo add-apt-repository ppa:git-core/ppa | |
sudo apt-get update | |
sudo apt-get -y install git | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Provision after up, since digital ocean doesn't respect "privileged" during up | |
vagrant up --no-provision --provider=digital_ocean | |
vagrant provision |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Vagrant.configure('2') do |config| | |
config.vm.hostname = 'vagrant-example' | |
config.vm.provider :digital_ocean do |provider, override| | |
override.ssh.username = 'vagrant' | |
override.ssh.private_key_path = '~/.ssh/id_rsa' | |
override.vm.box = 'digital_ocean' | |
override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box" | |
provider.token = ENV['DIGITAL_OCEAN_TOKEN'] | |
provider.image = 'ubuntu-14-04-x64' | |
provider.region = 'sgp1' | |
provider.size = '512mb' | |
end | |
config.vm.provision :shell, path: 'provision.sh', privileged: false | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment