4 Vagrant.configure("2") do |config|
 
   5   # use official ubuntu image for virtualbox
 
   6   config.vm.provider "virtualbox" do |vb, override|
 
   7     override.vm.box = "ubuntu/xenial64"
 
   8     override.vm.synced_folder ".", "/srv/openstreetmap-website"
 
   9     vb.customize ["modifyvm", :id, "--memory", "1024"]
 
  10     vb.customize ["modifyvm", :id, "--cpus", "2"]
 
  11     vb.customize ["modifyvm", :id, "--uartmode1", "disconnected"]
 
  14   # use third party image and NFS sharing for lxc
 
  15   config.vm.provider "lxc" do |_, override|
 
  16     override.vm.box = "generic/ubuntu1604"
 
  17     override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => "nfs"
 
  20   # use third party image and NFS sharing for libvirt
 
  21   config.vm.provider "libvirt" do |_, override|
 
  22     override.vm.box = "generic/ubuntu1604"
 
  23     override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => "nfs"
 
  26   # configure shared package cache if possible
 
  27   if Vagrant.has_plugin?("vagrant-cachier")
 
  28     config.cache.enable :apt
 
  29     config.cache.scope = :box
 
  32   # port forward for webrick on 3000
 
  33   config.vm.network :forwarded_port, :guest => 3000, :host => 3000
 
  35   # provision using a simple shell script
 
  36   config.vm.provision :shell, :path => "script/vagrant/setup/provision.sh"