Last active
January 16, 2025 17:15
-
-
Save tranphuquy19/746f1d4c190aa509dd3874fb52dec301 to your computer and use it in GitHub Desktop.
Libvirt Vagrantfile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo apt-get update | |
sudo apt-get install -y build-essential ruby-dev libvirt-dev zlib1g-dev libxslt-dev libxml2-dev # build vagrant-libvirt plugin | |
sudo apt-get install -y libvirt-daemon libvirt-clients virt-manager libvirt-daemon-driver-lxc lxc | |
sudo usermod -aG libvirt $USER | |
sudo usermod -aG kvm $USER | |
newgrp libvirt | |
newgrp kvm | |
sudo systemctl enable --now libvirtd | |
sudo systemctl start libvirtd |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt' | |
Vagrant.configure("2") do |config| | |
config.vm.box = "generic/debian12" | |
config.vm.box_version = "4.3.12" | |
config.vm.synced_folder ".", "/vagrant", disabled: true | |
config.vm.network :forwarded_port, guest: 22, host: 2222 | |
config.vm.network "private_network", | |
ip: "192.168.100.10", | |
libvirt__network_name: "vagrant-static", | |
libvirt__dhcp_enabled: false, | |
libvirt__forward_mode: "none" | |
config.vm.provider :libvirt do |libvirt| | |
libvirt.uri = 'qemu:///system' | |
libvirt.memory = 1024 | |
libvirt.cpus = 1 | |
end | |
config.vm.provision "shell", inline: <<-SHELL | |
export DEBIAN_FRONTEND=noninteractive | |
sudo apt-get update && sudo apt-get install -y curl | |
SHELL | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt' | |
Vagrant.configure("2") do |config| | |
config.vm.box = "generic/debian12" | |
config.vm.box_version = "4.3.12" | |
config.vm.synced_folder ".", "/vagrant", | |
type: "rsync", | |
rsync__exclude: [".git/", ".vagrant/"] | |
config.vm.network :forwarded_port, guest: 22, host: 2222 | |
config.vm.network "private_network", | |
ip: "192.168.100.11", | |
libvirt__network_name: "vagrant-static", | |
libvirt__dhcp_enabled: false, | |
libvirt__forward_mode: "none" | |
config.vm.provider :libvirt do |libvirt| | |
libvirt.uri = 'qemu:///system' | |
libvirt.memory = 8192 | |
libvirt.cpus = 4 | |
libvirt.cpu_mode = 'host-passthrough' | |
end | |
config.vm.provision "shell", inline: <<-SHELL | |
export DEBIAN_FRONTEND=noninteractive | |
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do | |
sudo apt-get remove -y $pkg | |
done | |
sudo apt-get update | |
sudo apt-get install -y ca-certificates curl gnupg | |
sudo install -m 0755 -d /etc/apt/keyrings | |
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg | |
sudo chmod a+r /etc/apt/keyrings/docker.gpg | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
sudo apt-get update | |
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin | |
sudo usermod -aG docker vagrant | |
sudo systemctl enable docker | |
sudo systemctl start docker | |
SHELL | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment