sintonia/docs/local-dev.md

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.