Vagrant.configure("2") do |config|
# Apache webserver
config.vm.network "forwarded_port", guest: 80, host: 8089
+ config.vm.network "forwarded_port", guest: 8088, host: 8088
# If true, then any SSH connections made will enable agent forwarding.
config.ssh.forward_agent = true
+ # Never sync the current directory to /vagrant.
+ config.vm.synced_folder ".", "/vagrant", disabled: true
+
checkout = "yes"
if ENV['CHECKOUT'] != 'y' then
- config.vm.synced_folder ".", "/home/vagrant/Nominatim"
- checkout = "no"
+ checkout = "no"
end
- config.vm.define "ubuntu", primary: true do |sub|
- sub.vm.box = "bento/ubuntu-20.04"
- sub.vm.provision :shell do |s|
- s.path = "vagrant/Install-on-Ubuntu-20.sh"
- s.privileged = false
- s.args = [checkout]
- end
+ config.vm.provider "hyperv" do |hv, override|
+ hv.memory = 2048
+ hv.linked_clone = true
+ if ENV['CHECKOUT'] != 'y' then
+ override.vm.synced_folder ".", "/home/vagrant/Nominatim", type: "smb", smb_host: ENV['SMB_HOST'] || ENV['COMPUTERNAME']
+ end
+ end
+
+ config.vm.provider "virtualbox" do |vb, override|
+ vb.gui = false
+ vb.memory = 2048
+ vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//vagrant","0"]
+ if ENV['CHECKOUT'] != 'y' then
+ override.vm.synced_folder ".", "/home/vagrant/Nominatim"
+ end
+ end
+
+ config.vm.provider "parallels" do |prl, override|
+ prl.update_guest_tools = false
+ prl.memory = 2048
+ if ENV['CHECKOUT'] != 'y' then
+ override.vm.synced_folder ".", "/home/vagrant/Nominatim"
+ end
end
- config.vm.define "ubuntu18", primary: true do |sub|
- sub.vm.box = "bento/ubuntu-18.04"
+ config.vm.provider "libvirt" do |lv, override|
+ lv.memory = 2048
+ lv.nested = true
+ if ENV['CHECKOUT'] != 'y' then
+ override.vm.synced_folder ".", "/home/vagrant/Nominatim", type: 'nfs', nfs_udp: false
+ end
+ end
+
+ config.vm.define "ubuntu22", primary: true do |sub|
+ sub.vm.box = "generic/ubuntu2204"
+ if RUBY_PLATFORM.include?('darwin') && RUBY_PLATFORM.include?('arm64')
+ # Apple M processor
+ sub.vm.box = 'luminositylabsllc/ubuntu-22.04-arm64'
+ end
sub.vm.provision :shell do |s|
- s.path = "vagrant/Install-on-Ubuntu-18.sh"
+ s.path = "vagrant/Install-on-Ubuntu-22.sh"
s.privileged = false
s.args = [checkout]
end
end
- config.vm.define "ubuntu18nginx" do |sub|
- sub.vm.box = "bento/ubuntu-18.04"
+ config.vm.define "ubuntu22-apache" do |sub|
+ sub.vm.box = "generic/ubuntu2204"
sub.vm.provision :shell do |s|
- s.path = "vagrant/Install-on-Ubuntu-18-nginx.sh"
+ s.path = "vagrant/Install-on-Ubuntu-22.sh"
s.privileged = false
- s.args = [checkout]
+ s.args = [checkout, "install-apache"]
end
end
- config.vm.define "ubuntu16" do |sub|
- sub.vm.box = "bento/ubuntu-16.04"
+ config.vm.define "ubuntu22-nginx" do |sub|
+ sub.vm.box = "generic/ubuntu2204"
sub.vm.provision :shell do |s|
- s.path = "vagrant/Install-on-Ubuntu-16.sh"
+ s.path = "vagrant/Install-on-Ubuntu-22.sh"
s.privileged = false
- s.args = [checkout]
+ s.args = [checkout, "install-nginx"]
end
end
- config.vm.define "travis" do |sub|
- sub.vm.box = "bento/ubuntu-14.04"
+ config.vm.define "ubuntu24" do |sub|
+ sub.vm.box = "bento/ubuntu-24.04"
sub.vm.provision :shell do |s|
- s.path = "vagrant/install-on-travis-ci.sh"
+ s.path = "vagrant/Install-on-Ubuntu-24.sh"
s.privileged = false
s.args = [checkout]
end
end
- config.vm.define "centos" do |sub|
- sub.vm.box = "centos/7"
+ config.vm.define "ubuntu24-apache" do |sub|
+ sub.vm.box = "bento/ubuntu-24.04"
sub.vm.provision :shell do |s|
- s.path = "vagrant/Install-on-Centos-7.sh"
+ s.path = "vagrant/Install-on-Ubuntu-24.sh"
s.privileged = false
- s.args = "yes"
+ s.args = [checkout, "install-apache"]
end
- sub.vm.synced_folder ".", "/home/vagrant/Nominatim", disabled: true
- sub.vm.synced_folder ".", "/vagrant", disabled: true
end
- config.vm.define "centos8" do |sub|
- sub.vm.box = "generic/centos8"
+ config.vm.define "ubuntu24-nginx" do |sub|
+ sub.vm.box = "bento/ubuntu-24.04"
sub.vm.provision :shell do |s|
- s.path = "vagrant/Install-on-Centos-8.sh"
+ s.path = "vagrant/Install-on-Ubuntu-24.sh"
s.privileged = false
- s.args = "yes"
+ s.args = [checkout, "install-nginx"]
end
- sub.vm.synced_folder ".", "/home/vagrant/Nominatim", disabled: true
- sub.vm.synced_folder ".", "/vagrant", disabled: true
- end
-
-
- config.vm.provider "virtualbox" do |vb|
- vb.gui = false
- vb.memory = 2048
- vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//vagrant","0"]
end
-
end