Welcome to Showergel’s documentation!

Showergel is made to live aside Liquidsoap: while a Liquidsoap script creates a radio stream, Showergel provides complementary features like logging or occasional scheduling, with a (minimalist) Web interface. It is made to run on a Linux box (with systemd) dedicated to your radio stream.


With Showergel you still have to write/tune the Liquidsoap script that will fit your radio. That is, the set of sources ( playlist, input.harbor, …) and operators ( random, switch, fallback, …) that fits your programs and schedule. This documentation only provide a starter script, covering Liquidsoap’s basics and Showgel’s integration.

Design principles

Showergel is meant for community and benevolent radios. Therefore we’ll keep it small and simple:

  • Showergel is intended to run on the same machine as Liquidsoap.

  • The REST/Web interface is served by the Bottle framework, because it’s enough and allows keeping everything in a single process.

  • Showergel’s data is stored in SQLite because its architecture fits perfectly our use case (everything in a single, local file).

  • Scheduling is delegated to APScheduler, who also needs SQLAlchemy to access SQLite, so we use SQLAlchemy too.

  • Showergel will not hold your music and shows collection. For that matter we suggest Beets, you can find examples of its integration with Liquidsoap in Liquidsoap documentation.

Showergel is released under the GPL3 license.

Indices and tables