Independent stations
Each managed station has its own Liquidsoap process, stream and media library.
EARLY-STAGE · SELF-HOSTED RADIO SOFTWARE
Choose what plays. Freo manages the radio plumbing with Liquidsoap, Icecast, PostgreSQL and systemd.
A working automation foundation under active development.
FREO · PROGRAMMING FLOW
BUILT TODAY
Freo selects approved music; Liquidsoap plays it. Confirmed starts are recorded with their category, rotation and clock context.
Each managed station has its own Liquidsoap process, stream and media library.
CLI ingestion probes audio, stores it under controlled paths and rejects unsafe files.
Ordered category rotations apply track and artist separation with recorded rule relaxation.
Reusable music clocks and weekly assignments resolve in each station’s IANA timezone.
A generated fallback keeps an isolated station on air when approved audio is unavailable.
Playback starts are confirmed by Liquidsoap, rather than inferred from queue selection.
LISTEN
The diagnostic stream tests the radio path. Managed stations demonstrate database-backed programming.
ENGINE DIAGNOSTIC
Generated audio verifies Liquidsoap → Icecast → Nginx.
Open diagnostic stream ↗MANAGED STATION
Generated station test audio
Open player →MANAGED STATION
Second generated station test
Open player →INSTALLATION STATUS
Freo targets Ubuntu 24.04. The provisioning path exists, but it has not yet passed the separate fresh-VM acceptance test. It should not be treated as a verified one-command public install.
git clone https://github.com/lee-3andB/freo.git
cd freo
sudo ./scripts/install.shReview the script and installation documentation first. Administration currently uses the server CLI; browser controls for station changes are not available.
Installation guide ↗WHAT'S NEXT
Carts, live assist, audience features and authenticated browser controls for station changes remain future work. Freo does not yet offer hard-timed events, traffic scheduling or production-ready station operations.
No license has been selected yet. The owner must choose one before broadly promoting reuse as open-source software.