]> git.openstreetmap.org Git - rails.git/blobdiff - Vagrantfile
Merge pull request #5151 from AntonKhorev/no-history-and-export-buttons
[rails.git] / Vagrantfile
index b446b5c5f6a679cf744c769e9ab206386433da60..617bd7b4d0884707e8f94fc1af38ffd5671523ba 100644 (file)
@@ -2,8 +2,33 @@
 # vi: set ft=ruby :
 
 Vagrant.configure("2") do |config|
 # vi: set ft=ruby :
 
 Vagrant.configure("2") do |config|
-  config.vm.box = "sputnik13/trusty64"
+  # use official debian image
+  config.vm.box = "debian/bookworm64"
 
 
+  # configure virtualbox provider
+  config.vm.provider "virtualbox" do |vb, override|
+    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"
+
+  # configure lxc provider
+  config.vm.provider "lxc" do |_, override|
+    override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type
+  end
+
+  # configure libvirt provider
+  config.vm.provider "libvirt" do |libvirt, override|
+    override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type
+    libvirt.memory = 4096
+    libvirt.cpus = 2
+  end
+
+  # configure shared package cache if possible
   if Vagrant.has_plugin?("vagrant-cachier")
     config.cache.enable :apt
     config.cache.scope = :box
   if Vagrant.has_plugin?("vagrant-cachier")
     config.cache.enable :apt
     config.cache.scope = :box
@@ -12,10 +37,6 @@ Vagrant.configure("2") do |config|
   # port forward for webrick on 3000
   config.vm.network :forwarded_port, :guest => 3000, :host => 3000
 
   # port forward for webrick on 3000
   config.vm.network :forwarded_port, :guest => 3000, :host => 3000
 
-  # set up synced folder to source in /srv/openstreetmap-website
-  config.vm.synced_folder ".", "/srv/openstreetmap-website",
-    :rsync__exclude => ["config/application.yml", "config/database.yml"]
-
   # provision using a simple shell script
   config.vm.provision :shell, :path => "script/vagrant/setup/provision.sh"
 end
   # provision using a simple shell script
   config.vm.provision :shell, :path => "script/vagrant/setup/provision.sh"
 end