# vi: set ft=ruby :
Vagrant.configure("2") do |config|
-
- # Ubuntu LTS 14.04
- config.vm.box = "ubuntu/trusty64"
-
# Apache webserver
- config.vm.network "forwarded_port", guest: 8089, host: 8089
-
+ 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
- config.vm.synced_folder ".", "/home/vagrant/Nominatim"
+ # Never sync the current directory to /vagrant.
+ config.vm.synced_folder ".", "/vagrant", disabled: true
+ checkout = "yes"
+ if ENV['CHECKOUT'] != 'y' then
+ checkout = "no"
+ 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
- # provision using a simple shell script
- config.vm.provision :shell, :path => "vagrant-provision.sh"
+ 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
- # configure shared package cache if possible
- if Vagrant.has_plugin?("vagrant-cachier")
- config.cache.enable :apt
- config.cache.scope = :box
+ 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"
+ sub.vm.provision :shell do |s|
+ s.path = "vagrant/Install-on-Ubuntu-22.sh"
+ s.privileged = false
+ s.args = [checkout]
+ end
+ end
- config.vm.provider "virtualbox" do |vb|
- vb.gui = false
- vb.customize ["modifyvm", :id, "--memory", "2048"]
+ config.vm.define "ubuntu22-apache" do |sub|
+ sub.vm.box = "generic/ubuntu2204"
+ sub.vm.provision :shell do |s|
+ s.path = "vagrant/Install-on-Ubuntu-22.sh"
+ s.privileged = false
+ s.args = [checkout, "install-apache"]
+ end
end
+ config.vm.define "ubuntu22-nginx" do |sub|
+ sub.vm.box = "generic/ubuntu2204"
+ sub.vm.provision :shell do |s|
+ s.path = "vagrant/Install-on-Ubuntu-22.sh"
+ s.privileged = false
+ s.args = [checkout, "install-nginx"]
+ end
+ end
- # config.vm.provider :digital_ocean do |provider, override|
- # override.ssh.private_key_path = '~/.ssh/id_rsa'
- # override.vm.box = 'digital_ocean'
- # override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
+ config.vm.define "ubuntu24" do |sub|
+ sub.vm.box = "bento/ubuntu-24.04"
+ if RUBY_PLATFORM.include?('darwin') && RUBY_PLATFORM.include?('arm64')
+ # Apple M processor
+ sub.vm.box = 'gutehall/ubuntu24-04'
+ end
+ sub.vm.provision :shell do |s|
+ s.path = "vagrant/Install-on-Ubuntu-24.sh"
+ s.privileged = false
+ s.args = [checkout]
+ end
+ end
- # provider.token = ''
- # # provider.token = 'YOUR TOKEN'
- # provider.image = 'ubuntu-14-04-x64'
- # provider.region = 'nyc2'
- # provider.size = '512mb'
- # end
+ 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-Ubuntu-24.sh"
+ s.privileged = false
+ s.args = [checkout, "install-apache"]
+ end
+ end
+ 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-Ubuntu-24.sh"
+ s.privileged = false
+ s.args = [checkout, "install-nginx"]
+ end
+ end
end