mirror of https://gitlab.com/tildes/tildes.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.6 KiB
56 lines
1.6 KiB
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
VAGRANT_CONFIG_VERSION = "2"
|
|
|
|
Vagrant.configure(VAGRANT_CONFIG_VERSION) do |config|
|
|
config.vm.box = "debian/bookworm64"
|
|
|
|
# Main application folder
|
|
config.vm.synced_folder "tildes/", "/opt/tildes/"
|
|
|
|
config.vm.synced_folder "ansible/", "/srv/ansible"
|
|
|
|
config.vm.network "forwarded_port", guest: 443, host: 4443
|
|
config.vm.network "forwarded_port", guest: 9090, host: 9090
|
|
|
|
config.vm.provision "ansible_local" do |ansible|
|
|
ansible.install = true
|
|
ansible.install_mode = "pip"
|
|
ansible.version = "10.6.0"
|
|
ansible.pip_install_cmd = "sudo apt-get install -y python3-pip"
|
|
ansible.pip_args = "--break-system-packages"
|
|
|
|
# put the VM into the "dev" and "app_server" Ansible groups
|
|
ansible.groups = {
|
|
"dev" => ["default"],
|
|
"app_server" => ["default"],
|
|
}
|
|
|
|
ansible.galaxy_role_file = "ansible/requirements.yml"
|
|
ansible.playbook = "ansible/playbook.yml"
|
|
end
|
|
|
|
config.vm.provider "virtualbox" do |vb|
|
|
vb.memory = "4096"
|
|
vb.cpus = "4"
|
|
end
|
|
|
|
config.vm.provider "docker" do |d, override|
|
|
# Docker does not require config.vm.box
|
|
override.vm.box = nil
|
|
# Instead, specify build_dir where Dockerfile is located.
|
|
d.build_dir = "./docker"
|
|
d.dockerfile = "Dockerfile-for-vagrant"
|
|
|
|
# Keep Docker container running indefinitely
|
|
d.remains_running = true
|
|
d.create_args = ["--detach", "--tty"]
|
|
|
|
# SSH configuration
|
|
d.has_ssh = true
|
|
|
|
# Tell user to restart Docker container after Ansible provisioning
|
|
override.vm.provision "shell", path: "./docker/tell-user-to-reboot-vagrant.sh"
|
|
end
|
|
end
|