Skip to content

Instantly share code, notes, and snippets.

@randallb
Created February 19, 2014 19:14
Show Gist options
  • Save randallb/9099398 to your computer and use it in GitHub Desktop.
Save randallb/9099398 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8
sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install language-pack-en-base
sudo dpkg-reconfigure locales
sudo apt-get install -y git
sudo apt-get install -y curl
sudo apt-get install -y libxslt-dev libxml2-dev libssl-dev libpq-dev
#rbenv + ruby 2.0
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash
rbenv install 2.0.0-p247
rbenv global 2.0.0-p247
rbenv rehash
gem install bundler
rbenv rehash
#postgres
echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main " | sudo tee -a /etc/apt/sources.list.d/pgdg.list
sudo wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y postgresql-9.3 pgadmin3
echo '# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust' | sudo tee /etc/postgresql/9.3/main/pg_hba.conf
sudo /etc/init.d/postgresql restart
sudo su - postgres -c 'createuser -s vagrant'
# setup encoding properly for rails
sudo -H -u postgres bash -c "psql -c \"update pg_database set datistemplate=false where datname='template1';\""
sudo -H -u postgres bash -c "dropdb template1"
sudo -H -u postgres bash -c "createdb template1 --owner=postgres --encoding='UTF-8' --lc-collate='en_US.utf8' --lc-ctype='en_US.utf8' --template template0"
sudo -H -u postgres bash -c "psql -c \"update pg_database set datistemplate=true where datname='template1';\""
#redis
sudo apt-get install -y python-software-properties
sudo add-apt-repository -y ppa:rwky/redis
sudo apt-get update
sudo apt-get install -y redis-server
# rails deps
cd /vagrant
bundle install
rake db:create
rake db:migrate
cp .env.example .env
foreman run rake db:seed
#node
wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
[ -s $HOME/.nvm/nvm.sh ] && . $HOME/.nvm/nvm.sh
nvm install 0.10
nvm alias default 0.10
npm install -g nodemon
#dispatcher
sudo mkdir /dispatcher
sudo chown vagrant /dispatcher
echo "#\!/usr/bin/env bash
cd /vagrant
echo 'setting up dispatcher...'
./setup_dispatcher.sh
" >> ~/setup_dispatcher.sh
sudo chmod +x ~/setup_dispatcher.sh
# convenience fns
echo "alias v='cd /vagrant'" >> ~/.bash_profile
echo "alias f='v; foreman start -f Procfile.vagrant -p 7980'" >> ~/.bash_profile
echo "All done installing!
Next steps: type 'vagrant ssh' to log into the machine.
After you've logged in, type './setup_dispatcher.sh' to setup dispatcher on your machine."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment