X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/23a53661e05761a475a5f032755cca148df24682..11a1191ba08f5244bd2e4f760e07310a2e34c026:/Vagrantfile diff --git a/Vagrantfile b/Vagrantfile index 042148f7..0cc511c5 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -2,48 +2,125 @@ # 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 + + 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 "libvirt" do |lv, override| + lv.memory = 2048 + lv.nested = true + if ENV['CHECKOUT'] != 'y' then + override.vm.synced_folder ".", "/home/vagrant/Nominatim", type: 'nfs' + 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 - # provision using a simple shell script - config.vm.provision :shell, :path => "vagrant-provision.sh" + 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 - # configure shared package cache if possible - if Vagrant.has_plugin?("vagrant-cachier") - config.cache.enable :apt - config.cache.scope = :box + config.vm.define "ubuntu20" do |sub| + sub.vm.box = "generic/ubuntu2004" + sub.vm.provision :shell do |s| + s.path = "vagrant/Install-on-Ubuntu-20.sh" + s.privileged = false + s.args = [checkout] + end end + config.vm.define "ubuntu20-apache" do |sub| + sub.vm.box = "generic/ubuntu2004" + sub.vm.provision :shell do |s| + s.path = "vagrant/Install-on-Ubuntu-20.sh" + s.privileged = false + s.args = [checkout, "install-apache"] + end + end - config.vm.provider "virtualbox" do |vb| - vb.gui = false - vb.customize ["modifyvm", :id, "--memory", "1024"] + config.vm.define "ubuntu20-nginx" do |sub| + sub.vm.box = "generic/ubuntu2004" + sub.vm.provision :shell do |s| + s.path = "vagrant/Install-on-Ubuntu-20.sh" + s.privileged = false + s.args = [checkout, "install-nginx"] + end end + config.vm.define "ubuntu18" do |sub| + sub.vm.box = "generic/ubuntu1804" + sub.vm.provision :shell do |s| + s.path = "vagrant/Install-on-Ubuntu-18.sh" + s.privileged = false + s.args = [checkout] + 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 "ubuntu18-apache" do |sub| + sub.vm.box = "generic/ubuntu1804" + sub.vm.provision :shell do |s| + s.path = "vagrant/Install-on-Ubuntu-18.sh" + s.privileged = false + s.args = [checkout, "install-apache"] + end + end - provider.token = 'e74c5c15501bd2782e689b0805ad577f954bfd39ea1fde3f17ff62835f2fc6c1' - # provider.token = 'YOUR TOKEN' - provider.image = 'ubuntu-14-04-x64' - provider.region = 'nyc2' - provider.size = '512mb' + config.vm.define "ubuntu18-nginx" do |sub| + sub.vm.box = "generic/ubuntu1804" + sub.vm.provision :shell do |s| + s.path = "vagrant/Install-on-Ubuntu-18.sh" + s.privileged = false + s.args = [checkout, "install-nginx"] + end end end