1
0

Vagrantfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. Vagrant.configure(2) do |config|
  2. config.vm.box = "ubuntu/bionic64"
  3. config.vm.network :forwarded_port, guest: 4567, host: 4567
  4. config.vm.provider "virtualbox" do |vb|
  5. vb.memory = "2048"
  6. end
  7. config.vm.provision "bootstrap",
  8. type: "shell",
  9. inline: <<-SHELL
  10. # add nodejs v12 repository
  11. curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
  12. sudo apt-get update
  13. sudo apt-get install -yq ruby ruby-dev
  14. sudo apt-get install -yq pkg-config build-essential nodejs git libxml2-dev libxslt-dev
  15. sudo apt-get autoremove -yq
  16. gem install --no-ri --no-rdoc bundler
  17. SHELL
  18. # add the local user git config to the vm
  19. config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
  20. config.vm.provision "install",
  21. type: "shell",
  22. privileged: false,
  23. inline: <<-SHELL
  24. echo "=============================================="
  25. echo "Installing app dependencies"
  26. cd /vagrant
  27. sudo gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"
  28. bundle config build.nokogiri --use-system-libraries
  29. bundle install
  30. SHELL
  31. config.vm.provision "run",
  32. type: "shell",
  33. privileged: false,
  34. run: "always",
  35. inline: <<-SHELL
  36. echo "=============================================="
  37. echo "Starting up middleman at http://localhost:4567"
  38. echo "If it does not come up, check the ~/middleman.log file for any error messages"
  39. cd /vagrant
  40. bundle exec middleman server --watcher-force-polling --watcher-latency=1 &> ~/middleman.log &
  41. SHELL
  42. end