Skip to content

Instantly share code, notes, and snippets.

@mechiland
Created August 3, 2016 09:44
Show Gist options
  • Save mechiland/38d5502f6ace18b1b1787c75d2c7f1f6 to your computer and use it in GitHub Desktop.
Save mechiland/38d5502f6ace18b1b1787c75d2c7f1f6 to your computer and use it in GitHub Desktop.
Rails Devbox Setup
function install {
echo installing $1
shift
apt-get -y install "$@" >/dev/null 2>&1
}
apt-get update
install 'development tools' build-essential git curl libxslt1-dev libxml2-dev libssl-dev nodejs libqt4-dev libqtwebkit-dev imagemagick ghostscript
install memcached memcached
install Redis redis-server
install PostgreSQL postgresql postgresql-contrib libpq-dev
sudo -u postgres createuser --superuser vagrant
sudo -u postgres createdb -O vagrant activerecord_unittest
install MongoDB mongodb
echo Setting locale to UTF8 and timezone to China
update-locale LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8
timedatectl set-timezone Asia/Chongqing
echo installing RVM and Ruby 2.3.1
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
source $HOME/.rvm/scripts/rvm
rvm install 2.3.1
rvm use --default 2.3.1
chown -R vagrant /usr/local/rvm/
gem install bundler --no-rdoc --no-ri
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 3000, host: 3000
config.vm.provision :shell, path: 'bootstrap.sh', keep_color: true
config.vm.network "private_network", type: "dhcp"
config.vm.synced_folder ".", "/vagrant", type: "nfs"
config.vm.hostname = 'rails-dev-box'
config.vm.provider "virtualbox" do |vb|
vb.name = "goku-dev-box"
vb.memory = "8192"
vb.cpus = 8
vb.customize ["modifyvm", :id, "--cpuexecutioncap", "100"]
vb.customize ["modifyvm", :id, "--paravirtprovider", "default"]
vb.customize ["modifyvm", :id, "--accelerate2dvideo", "on"]
vb.customize ["modifyvm", :id, "--vram", "128"]
vb.customize ["modifyvm", :id, "--acpi", "on"]
vb.customize ["modifyvm", :id, "--pae", "on"]
end
config.vm.provision "shell", keep_color: true, path: 'bootstrap.sh'
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment