weavesignal/deploy/cloudron/CloudronVersions.json
The WeaveSignal contributors 16833c96ae The demo video's tooling, the video on the website, and a Cloudron changelog the listing can read
- tests/demo-video/: the script, designed voices, the run through the real desk and the edit that
  make the website's demo video (the media themselves are not in git).
- The home page plays the video, with its credits.
- deploy/cloudron/CHANGELOG.md: one line per entry; CloudronVersions.json rebuilt.
2026-11-04 16:22:47 +00:00

106 lines
No EOL
9.2 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"stable": true,
"versions": {
"1.0.0": {
"manifest": {
"manifestVersion": 2,
"id": "top.weavesignal.cloudronapp",
"title": "WeaveSignal",
"author": "The WeaveSignal contributors",
"tagline": "An internet radio and video studio: a live room with callers, the desk, playout, streams and chat",
"description": "<!-- SPDX-License-Identifier: AGPL-3.0-only -->\n<!-- SPDX-FileCopyrightText: 2026 The WeaveSignal contributors -->\nWeaveSignal is talk-radio software: presenters, guests and callers meet in a live room, a desk\nmixes the programme with a mix-minus for each person, and playout sends it to listeners.\n\nThis package runs release one's server in one app: the control plane (Rust, Axum), the live\nchat (Rust, Axum), the desk (Rust, GStreamer), Liquidsoap 2.5 for playout and for the listener\nprocess that holds the stream with `icecast.server`, LiveKit with its own TURN, and the\nstation's public pages. It uses Cloudron's PostgreSQL and mail.\n\nThe studio app for presenters and screeners (Linux and Windows) connects to it over https.\nDocumentation: https://weavesignal.top. Source: https://forgejo.weavesignal.top/WeaveSignal/weavesignal.\n",
"version": "1.0.0",
"upstreamVersion": "1.0.0",
"website": "https://weavesignal.top",
"contactEmail": "info@weavesignal.top",
"packagerName": "The WeaveSignal contributors",
"packagerUrl": "https://forgejo.weavesignal.top/WeaveSignal/weavesignal",
"packageUrl": "https://forgejo.weavesignal.top/WeaveSignal/weavesignal/src/branch/main/deploy/cloudron",
"documentationUrl": "https://weavesignal.top/docs/how-to/install-on-cloudron/",
"icon": "file://logo.png",
"iconUrl": "https://forgejo.weavesignal.top/WeaveSignal/weavesignal/raw/tag/v1.0.0/deploy/cloudron/logo.png",
"healthCheckPath": "/health",
"httpPort": 8000,
"httpPorts": {
"LISTENERS_DOMAIN": {
"title": "Listener stream",
"description": "The listener stream (Ogg Opus), served by icecast.server behind this domain. It is not listed in any directory.",
"containerPort": 8001,
"defaultValue": "weavesignal-listen"
},
"ROOM_DOMAIN": {
"title": "Live room signalling",
"description": "LiveKit's signalling for presenters, guests and callers (WebSocket). Room access needs a short-lived token from the station.",
"containerPort": 8002,
"defaultValue": "weavesignal-room"
},
"PUBLIC_DOMAIN": {
"title": "Public pages",
"description": "The station's public pages, outside Cloudron's login: the player with call-in and the live chat, invited guests' join page, the echo test, podcast feeds, show cards and episode files. The app's own domain stays for the studio.",
"containerPort": 8003,
"defaultValue": "weavesignal-public"
}
},
"udpPorts": {
"LIVEKIT_MEDIA_PORT": {
"title": "Live room media (UDP)",
"description": "LiveKit's one WebRTC media port (ADR-0023). Default 7882; a port in 52000-60000 or 443/udp are alternatives, and any free UDP port may be used. Avoid 50000-51000, Cloudron's own TURN relay range.",
"defaultValue": 7882
},
"TURN_UDP_PORT": {
"title": "TURN over UDP",
"description": "LiveKit's built-in TURN over UDP. Off by default: guests who cannot use the media port use TURN over TLS. Cloudron's own TURN holds 3478, so 3479 or 13478; any free UDP port may be used.",
"defaultValue": 3479,
"enabledByDefault": false
}
},
"tcpPorts": {
"TURN_TLS_PORT": {
"title": "TURN over TLS",
"description": "LiveKit's built-in TURN over TLS, for guests on networks that block UDP and for GrapheneOS's browser (ADR-0059). On Cloudron the default is 15349, because Cloudron's own TURN holds 5349 (ADR-0106); any free TCP port may be used.",
"defaultValue": 15349
},
"LIVEKIT_TCP_PORT": {
"title": "Live room media over TCP",
"description": "LiveKit's ICE over TCP, a fallback when UDP is blocked. Off by default: TURN over TLS covers the same guests. Default 7881; any free TCP port may be used.",
"defaultValue": 7881,
"enabledByDefault": false
}
},
"addons": {
"localstorage": {},
"postgresql": {},
"sendmail": {},
"tls": {},
"proxyAuth": {
"path": "!/health",
"supportsBearerAuth": true
}
},
"optionalSso": true,
"memoryLimit": 1610612736,
"minBoxVersion": "10.0.0",
"postInstallMessage": "<!-- SPDX-License-Identifier: AGPL-3.0-only -->\n<!-- SPDX-FileCopyrightText: 2026 The WeaveSignal contributors -->\nYour station is installed. The guide is at https://weavesignal.top/docs/how-to/install-on-cloudron/.\n\n* The station's settings are in `/app/data/weavesignal.env`, and its generated secrets (the\n station identifier, LiveKit's key, the control plane's admin token, the listener password,\n and the keys that hash chatters' and staff's email addresses) are in `/app/data/secrets.env`.\n Keep the email keys: a new one finds none of the accounts made before. Open them with the File Manager; restart the app after an edit.\n* The listener stream is at `https://<listener domain>/programme.opus`. It is in no directory\n and open to anyone with the address; set `LISTENERS_AUTH=on` in `weavesignal.env` to ask for\n the user `listener` and `LISTENERS_PASSWORD` from `secrets.env`.\n* The player page, with call-in and the live chat, is at `https://<public domain>/`; podcast\n feeds, show cards and episode files are served there too. The chat's sign-in codes are sent\n through Cloudron's mail (`MAIL_MODE` in `weavesignal.env`).\n* Staff: in the studio app, choose **Use the station key instead** with `CONTROL_ADMIN_TOKEN`,\n add yourself as an admin under **Settings → Staff**, then sign in as yourself. Each member\n of staff then gets their own account there.\n* Room tokens: `POST /api/v1/room/tokens` with a staff sign-in or `CONTROL_ADMIN_TOKEN` as the bearer.\n* The public ports (room media over UDP, TURN over TLS, and the optional TURN over UDP and ICE\n over TCP) must be open in the server's firewall and any cloud firewall.\n<sso>\n* The station's own domain is behind Cloudron's login; the listener, room and public domains\n are not, and are protected by the listener password, by room tokens, and by serving only\n the public routes.\n</sso>\n",
"changelog": "- **WeaveSignal, release one**, the first public version (app id `top.weavesignal.cloudronapp`).\n- **The listener stream is open by default** (`LISTENERS_AUTH=off`), unlisted, as in the Compose bundle; set it to `on` to ask for a password.\n- **A caller's return is no longer choppy**: the desk stamps each output block from its place in the mix, not from the clock when it is encoded (0.0 % concealed, from 30–50 %).\n- The edge passes only its own `Cache-Control`; the unused `hls_origin` port is retired.\n",
"tags": [
"media",
"radio",
"streaming",
"video",
"chat"
],
"mediaLinks": [
"https://forgejo.weavesignal.top/WeaveSignal/weavesignal/raw/tag/v1.0.0/docs/src/assets/screens/reference-desk-window.png",
"https://forgejo.weavesignal.top/WeaveSignal/weavesignal/raw/tag/v1.0.0/docs/src/assets/screens/reference-screener-queue.png",
"https://forgejo.weavesignal.top/WeaveSignal/weavesignal/raw/tag/v1.0.0/docs/src/assets/screens/reference-public-pages-player.png",
"https://forgejo.weavesignal.top/WeaveSignal/weavesignal/raw/tag/v1.0.0/docs/src/assets/screens/reference-calendar-week.png",
"https://forgejo.weavesignal.top/WeaveSignal/weavesignal/raw/tag/v1.0.0/docs/src/assets/screens/reference-carts-window.png"
],
"dockerImage": "forgejo.weavesignal.top/weavesignal/weavesignal-cloudron:1.0.0"
},
"creationDate": "Wed, 04 Nov 2026 16:21:58 GMT",
"ts": "Wed, 04 Nov 2026 16:21:58 GMT",
"publishState": "published"
}
}
}