3.6 KiB
layout | title | category |
---|---|---|
article | Using Vagrant for local development | dev |
Prerequisites: git, Vagrant, libvirt or VirtualBox
VirtualBox
You will need to install VirtualBox and may want to consider installing vagrant-vbguest to update the guest extensions to match your host system on vagrant up.
vagrant plugin install vagrant-vbguest
Libvirt
Setting the libvirt provider up on Ubuntu and Debian is straight-forward, using the distribution provided packages. While on other distributions it can be built from within vagrant.
If you try run a libvirt provided box after using a VirtualBox one, you will receive an error:
Error while activating network:
Call to virNetworkCreate failed: internal error: Network is already in use by interface vboxnet0.
This is fixed by stopping virtualbox and re-creating the vagrant box:
sudo systemctl stop virtualbox
vagrant destroy ubuntu-bionic
vagrant up ubuntu-bionic --provider=libvirt
Debian and Ubuntu
sudo apt install vagrant vagrant-libvirt libvirt-daemon-system vagrant-mutate libvirt-dev
sudo usermod -aG libvirt $USER
# Reboot
vagrant box add bento/ubuntu-18.04 --provider=virtualbox
vagrant mutate bento/ubuntu-18.04 libvirt
vagrant up ubuntu-bionic --provider=libvirt
Other Distributions
You will need to install libvirt and vagrant-mutate
and then run
vagrant plugin install vagrant-libvirt
sudo usermod -a -G libvirt $USER
# Reboot
vagrant plugin install vagrant-mutate
vagrant box fetch bento/ubuntu-18.04
vagrant mutate bento/ubuntu-18.04 libvirt
vagrant up ubuntu-bionic --provider=libvirt
Starting LibreTime Vagrant
To get started you clone the repo and run vagrant up
. The command accepts a parameter to
change the default provider if you have multiple installed. This can be done by appending
--provider=virtualbox
or --provider=libvirt
as applicable.
git clone https://github.com/libretime/libretime.git
cd libretime
vagrant up ubuntu-bionic
If everything works out, you will find LibreTime on port 8080 and Icecast on port 8000.
Once you reach the web setup GUI you can click through it using the default values. To
connect to the vagrant machine you can run vagrant ssh ubuntu-bionic
in the libretime
directory.
Alternative OS installations
With the above instructions LibreTime is installed on Ubuntu Bionic. The Vagrant setup offers the option to choose a different operation system according to you needs.
OS | Command | Comment |
---|---|---|
Debian 10 | vagrant up debian-buster |
Install on Debian Buster. |
Debian 11 | vagrant up debian-bullseye |
Install on Debian Bullseye. |
Ubuntu 18.04 | vagrant up ubuntu-bionic |
Install on Ubuntu Bionic Beaver. |
Ubuntu 20.04 | vagrant up ubuntu-focal |
Install on Ubuntu Focal Fossa. |
CentOS | vagrant up centos |
CentOS 8 with native systemd support and activated SELinux. |
Troubleshooting
If anything fails during the initial provisioning step you can try running vagrant provision
to re-run the installer.
If you only want to re-run parts of the installer, use --provision-with $step
. The
supported steps are prepare
and install
.