WeaveSignal: an internet radio station with a live studio (community package)
-
Hello all,
WeaveSignal is a new open-source (AGPL-3.0) internet radio and video station that runs as one Cloudron app. It puts the live studio in the same installation as playout and the stream:

- Presenters, guests and callers talk in one room from a browser (LiveKit inside the app). Each person hears a mix of everyone but themselves.
- Listeners call in from the station's page: no phone number. A screener talks to them off air and sends them to the desk.
- Liquidsoap 2.5 fills the hours between shows from a schedule. There's a dead-air fallback.
- Listeners get Ogg Opus, an optional MP3 stream, and HLS video when it's on.
- A live chat with moderation, podcast feeds and show cards.
- A desktop studio app (Linux, Windows) runs the desk and the screener.
Install in a few clicks: it's listed on ca.cloudron.io (https://ca.cloudron.io/app/top.weavesignal.cloudronapp). In your dashboard, open App Store → Community apps, paste
https://forgejo.weavesignal.top/WeaveSignal/weavesignal/raw/branch/main/deploy/cloudron/CloudronVersions.json
and install (Cloudron 10.0 or later). Updates arrive through the same catalogue, and Cloudron's backups cover the station's data and database.See it first: a three-and-a-half-minute video of a show going to air, a caller screened and a swear dumped, on https://weavesignal.top, and everything it does on https://weavesignal.top/features/
What the package needs:
- Four domains: the studio behind Cloudron's login, plus the listener stream, the room's signalling and the public pages.
- A UDP port for the room's media (7882 by default) and TCP 15349 for TURN over TLS, because Cloudron's own TURN holds 5349.
- PostgreSQL and sendmail.
- A 1.5 GiB memory limit. It measured 0.5–0.7 GiB under a test load.
Things worth knowing:
- Live audio needs a server that isn't overloaded. On a busy shared Cloudron the listener feed ran dry; on an idle 4-vCPU server it held for 13 hours.
- TURN over IPv6 doesn't work yet. LiveKit's built-in TURN refuses clients that reach it over IPv6, and a Cloudron app domain gets an AAAA record whenever the server has IPv6. Relay-only clients on IPv6 networks can't join (upstream: livekit/livekit#5131).
- It's release 1.0.0 and new. What is proven and what isn't is on the status page: https://weavesignal.top/docs/reference/release-one-status/
Site: https://weavesignal.top · Docs: https://weavesignal.top/docs/ · Install on Cloudron: https://weavesignal.top/docs/how-to/install-on-cloudron/ · Source and issues: https://forgejo.weavesignal.top/WeaveSignal/weavesignal · Mirror: https://github.com/OrcVole/WeaveSignal · Demo station (listen-only, itself a Cloudron install of this package): https://demo.weavesignal.top
I'd be grateful for testers and bug reports, here or on the issue tracker.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login