X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/3fe49072feeb377da26bd488d3fc62aee9fadf56..d648561a87bbe69dd0e9d156bfb8910ed304cbd3:/Vagrantfile diff --git a/Vagrantfile b/Vagrantfile index 843dd668..99aa8449 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -2,48 +2,109 @@ # 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