Complex set-ups#

The installer will help you to quickly broadcast a radio from a dedicated machine or virtual machine running Linux. Radiotomate can also fit in more complex situations.

Multiple radios on a single machine#

You can broadcast multiple radio streams from a single machine. Each stream should be an independant Radiotomate instance, so you must tell the installer to put each one in its own folder and behind its own ports.

Before adding a new radio you must rename the beet and radiotomate commands that the installer sets up in your Bash start-up script (~/.bashrc or ~/.bash_profile). These commands (which are actually Bash aliases) target a precise Radiotomate instance, and running the install script will overwrite those called beet and radiotomate. To avoid this, at the end of your start-up script, find the two lines like:

alias beet='podman --...
alias radiotomate="podman --...

To be sure those will always target the right Radiotomate instance, edit these two lines so commands have a distinct name:

alias beet_radio1='podman --...
alias radiotomate_radio1="podman --...

Then you can launch the installer to create an additional radio. To choose a folder, set DATA_ROOT before running the installation script:

export DATA_ROOT=~/radio2
wget -O - https://radiotomate.org/install.sh | bash

Follow installation steps as usual, but before clicking Install on the last panel be careful to change port numbers to a value that is not already used.

Re-using a music libray#

Notes:

  • This is not guaranteed to work if many Radiotomate users will edit the music library simultaneously.
  • In that case you will probably want to remove the beet alias created by Radiotomate after its installation: find it at the end of ~/.bashrc or ~/.bash_profile.

If you're already using Beets or if you want to re-use the library from another Radiotomate instance, you'll have to edit the configuration and folders after the installation.

First, transform Radiotomate's Beets folder into a symbolic link to your library's BEETSDIR, which contains Beets' configuration and database files. You can find it with beet config -p:

$ beet config -p # check it works
/home/username/.config/beets/config.yaml

$ mv radiotomate_data/Beets radiotomate_data/Beets.old
$ ln -s $(dirname $(beet config -p)) radiotomate_data/Beets

Then ensure your music folder (beet's directory parameter) is available to containers. Edit the radiotomate_data/pod_manifest.yaml file, to add an entry for this folder the volumes section. The entry should look like data-volume, but with its own name, for example:

volumes:
  - name: data-volume
    hostPath:
      path: /home/username/radiotomate_data
  - name: music-volume
    hostPath:
      path: /home/username/Music

then add it to each volumeMounts (the files contains a few occurrences: it should be added to all of them), for example:

volumeMounts:
  - mountPath: /home/username/radiotomate_data:z
    name: data-volume
  - mountPath: /home/username/Music:z
    name: music-volume

Finally, restart Radiotomate:

systemctl --user restart radiotomate

Manual installation#

If you know how to install Liquidsoap and Python applications yourself you can also try a developer installation, as described in contributors' documentation.

Windows?#

In theory Radiotomate should work on Windows, by launching the installer in WSL and/or running the pod in Podman desktop. We did not had time to test it so far: if you do, get in touch with us!