]> git.openstreetmap.org Git - rails.git/blobdiff - Vagrantfile
Merge remote-tracking branch 'upstream/pull/4533'
[rails.git] / Vagrantfile
index ab0702a1c1768088a93edd8c8ad5b64700cdabfb..7895d3b86cc4c0f6bf25bb5997fc6343d4286a2c 100644 (file)
@@ -2,15 +2,39 @@
 # vi: set ft=ruby :
 
 Vagrant.configure("2") do |config|
-  config.vm.box = "precise64"
-  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
-  
-  # port forward for webrick on 3000
-  config.vm.network :forwarded_port, guest: 3000, host: 3000
+  # use official ubuntu image for virtualbox
+  config.vm.provider "virtualbox" do |vb, override|
+    override.vm.box = "ubuntu/jammy64"
+    override.vm.synced_folder ".", "/srv/openstreetmap-website"
+    vb.customize ["modifyvm", :id, "--memory", "4096"]
+    vb.customize ["modifyvm", :id, "--cpus", "2"]
+    vb.customize ["modifyvm", :id, "--uartmode1", "disconnected"]
+  end
+
+  # Use sshfs sharing if available, otherwise NFS sharing
+  sharing_type = Vagrant.has_plugin?("vagrant-sshfs") ? "sshfs" : "nfs"
+
+  # use third party image and sshfs or NFS sharing for lxc
+  config.vm.provider "lxc" do |_, override|
+    override.vm.box = "generic/ubuntu2204"
+    override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type
+  end
 
-  # set up synced folder to source in /srv/openstreetmap-website
-  config.vm.synced_folder ".", "/srv/openstreetmap-website"
+  # use third party image and sshfs or NFS sharing for libvirt
+  config.vm.provider "libvirt" do |_, override|
+    override.vm.box = "generic/ubuntu2204"
+    override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type
+  end
+
+  # configure shared package cache if possible
+  if Vagrant.has_plugin?("vagrant-cachier")
+    config.cache.enable :apt
+    config.cache.scope = :box
+  end
+
+  # port forward for webrick on 3000
+  config.vm.network :forwarded_port, :guest => 3000, :host => 3000
 
   # provision using a simple shell script
-  config.vm.provision :shell, :path => "config/vagrant/provision.sh"
+  config.vm.provision :shell, :path => "script/vagrant/setup/provision.sh"
 end