api_docs/Vagrantfile
Benjamin Chenebault 7b1e718672 A Vagrantfile based on debian/jessie64 (#708)
* Add VagrantFile compatible from debian/jessie64 box and latest ruby stable version (2.4.0)

* Fix indent in vagrantfile for jessie64

* Remove Vagrantfile for Jessie

* Replace Vagrantfile with debian/jessie and last ruby version
2017-03-31 14:57:15 -05:00

46 lines
1.6 KiB
Ruby

Vagrant.configure(2) do |config|
config.vm.box = "debian/jessie64"
config.vm.network :forwarded_port, guest: 4567, host: 4567
config.vm.synced_folder ".", "/vagrant", type: "rsync"
# Download and install ruby from sources and other tools
config.vm.provision "shell",
inline: <<-SHELL
apt-get -yq install zlib1g-dev libssl-dev libreadline-dev libgdbm-dev openssl git libxml2-dev libxslt-dev build-essential nodejs
wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.gz
tar xvfz ruby-2.4.0.tar.gz
cd ruby-2.4.0
./configure
make
make install
gem install --no-ri --no-rdoc bundler
rm -rf ruby-2.4.0.tar.gz ruby-2.4.0
apt-get autoremove -yq
SHELL
# add the local user git config to the vm
config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
# Install project dependencies (gems)
config.vm.provision "shell",
privileged: false,
inline: <<-SHELL
echo "=============================================="
echo "Installing app dependencies"
cd /vagrant
bundle config build.nokogiri --use-system-libraries
bundle install
SHELL
# Exec server
config.vm.provision "shell",
privileged: false,
run: "always",
inline: <<-SHELL
echo "=============================================="
echo "Starting up middleman at http://localhost:4567"
echo "If it does not come up, check the ~/middleman.log file for any error messages"
cd /vagrant
bundle exec middleman server --watcher-force-polling --watcher-latency=1 &> ~/middleman.log &
SHELL
end