Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.provision "docker"
  config.vm.provision :docker_compose

  config.vm.network "forwarded_port", guest: 80, host: 9000
  config.vm.network "forwarded_port", guest: 443, host: 443
  config.vm.network "forwarded_port", guest: 3000, host: 5000
  config.vm.network "private_network", ip: "192.168.33.10"

  config.vm.synced_folder "share/", "/vagrant/share", type: "rsync",
    rsync__args: %w(--verbose --archive --delete -z --copy-links --times),
    rsync__chown: false
  config.vm.provider "virtualbox" do |vb| 
    vb.memory = "4096"
  end
  config.vm.provision :shell, :path => "setup.sh", privileged: true
  config.vm.provision :shell, :path => "ruby.sh", privileged: false
  config.vm.provision :shell, :path => "db_web_node.sh", privileged: true  
end

setup.sh

Vagrantfileと同じ階層に作成しましょう。
このシェルスクリプトではOSの更新とrbenvのインストールを行います。

home='/home/vagrant'
######################
# general
######################
apt-get -y update
# GCC4.9
add-apt-repository -y ppa:ubuntu-toolchain-r/test
apt-get -y update
# Kernel
apt-get -y install linux-image-extra-$(uname -r) linux-image-extra-virtual

######################
# rbenv
######################
# rbenv
git clone https://github.com/rbenv/rbenv.git ${home}/.rbenv
# .bashrcに追記
echo "export PATH=\"${home}/.rbenv/bin:$PATH\"" >> ${home}/.bash_profile
echo 'eval "$(rbenv init -)"' >> ${home}/.bash_profile
# ruby-build
git clone https://github.com/rbenv/ruby-build.git "${home}/.rbenv/plugins/ruby-build"

ruby.sh

Vagrantfileと同じ階層に作成しましょう。
このシェルスクリプトではrubyのインストールを行います。

home='/home/vagrant'
#######################
# ruby
#######################
sudo ~/.rbenv/bin/rbenv install 2.4.0
sudo ~/.rbenv/bin/rbenv global 2.4.0
sudo ~/.rbenv/bin/rbenv rehash

db_web_node.sh

Vagrantfileと同じ階層に作成しましょう。
このシェルスクリプトではrails, postgres, nginx, nodejsをインストールします。

home='/home/vagrant'
#######################
# rails
#######################
sudo apt-get -y install ruby-dev zlib1g-dev gcc make
gem install bundler
gem install pkg-config -v "~> 1.1.7"
sudo apt-get -y install libxml2-dev
sudo apt-get -y install libxslt-dev
gem install nokogiri -- --use-system-libraries
gem install rails --no-ri --no-rdoc 

# #######################
# # postgres
# #######################
# # postgres sqlite3 install
apt-get -y install libpq-dev libsqlite3-dev

# #######################
# # nginx
# #######################
# # nginx install
apt-get -y install nginx

# #######################
# # nodejs
# #######################
# # nodejs npm install
apt-get -y install nodejs npm
npm cache clean
npm install n -g
n stable
ln -sf /usr/local/bin/node /usr/bin/node
apt-get -y purge nodejs npm


#######################
# version
#######################
echo 'node -v' >> "${home}/.bash_profile"
echo 'ruby -v' >> "${home}/.bash_profile"
echo 'rails -v' >> "${home}/.bash_profile"
echo 'docker -v' >> "${home}/.bash_profile"
echo 'docker-compose -v' >> "${home}/.bash_profile"

使い方