dcc347e1eaPhase 7+11: token-based publishing — MediaMTX authMethod http -> dumpd /mtx-auth (bridge-only port 8081); dumpd mints 12 h HMAC tokens for Discord-authenticated streamers; dock rewritten (no passwords, naming rules with live preview, prefix/suffix, manual-setup accordion with hidden token); portal uses tokens; configure.py drops streamers; MediaMTX hot-reload, Caddy reload — no stream interruptionBrandyn / Techy2026-10-31 15:22:15 -05:00
2a74cb7b40Logout ends the Authentik session: copyparty idp-logout -> outpost sign_out; live portal Sign out linkBrandyn / Techy2026-10-31 15:11:53 -05:00
268a6a2f81copyparty idp-h-key: Caddy injects a header with a secret name (COPYPARTY_IDP_KEY); IdP headers ignored without itBrandyn / Techy2026-10-31 15:09:13 -05:00
b89afb50d2Caddy: /whoami on the main host echoes the Authentik identity headers for debuggingBrandyn / Techy2026-10-31 15:08:16 -05:00
c4a79c3316README/plan: note WebDAV is available via app passwords but deliberately not set upBrandyn / Techy2026-10-31 15:01:14 -05:00
15402eeb82Discord-only login: drop WebDAV/app-password path from docs and generated config commentsBrandyn / Techy2026-10-31 15:00:48 -05:00
50c037e514Phase 5+6: main host behind Authentik — copyparty trusts X-Authentik-* headers with group permissions (editors, media-admins), dumpd authorizes from headers (admins/media-admins), /sync gated to media-admins, dock drops its dump password; configure.py loses editors/adminBrandyn / Techy2026-10-31 14:55:48 -05:00
76a7d06df4Go Live: state the Windows-only quality/audio reality in the form; STATUS noteBrandyn / Techy2026-10-31 13:37:21 -05:00
e4656b9293Go Live quality: prefer H.264 High/Main (hardware) then Baseline then VP9; start/min bitrate hints to skip the ramp; motion content hint; show encoder + profile in statsBrandyn / Techy2026-10-31 13:33:45 -05:00
e02accb855Streams published flat as <user>/<Title>__<ts>.mp4 so each recording is its own Jellyfin episode; plugin 0.1.3 parses the title from the nameBrandyn / Techy2026-10-31 03:42:53 -05:00
d28c2335d0Go Live: recording warning before start and a REC badge while liveBrandyn / Techy2026-10-31 01:48:25 -05:00
f737fc6289Go Live: state the Windows-only window-audio limitation in the UI and docsBrandyn / Techy2026-10-31 01:47:45 -05:00
f3388f52bcPlan: media-admins group for full copyparty rights in phase 5Brandyn / Techy2026-10-31 01:24:46 -05:00
e3fb5db424STATUS: Go Live verified end to end; remaining itemsBrandyn / Techy2026-10-31 01:22:14 -05:00
2510cfacebsweep: portable VFR detection (mawk has no asort; the check silently passed every file on Debian)Brandyn / Techy2026-10-31 01:20:32 -05:00
f17e57db63MediaMTX container TZ=America/New_York so recording filenames match the server clockBrandyn / Techy2026-10-31 01:18:54 -05:00
94db824243configure.py: optional bare-domain Caddy block (redirect to the watch site by default)Brandyn / Techy2026-10-31 01:12:22 -05:00
f06ebc1ec1Plan: phase 11 — MediaMTX auth via Authentik (JWT for the browser, app passwords for OBS, no stream keys)Brandyn / Techy2026-10-31 00:58:50 -05:00
4b4c7eaedfGo Live: MediaMTX credentials via X-Stream-Auth -> Authorization on the Caddy->MediaMTX hop (WebRTC ignores query params); fix WHIP session DELETE pathBrandyn / Techy2026-10-31 00:56:56 -05:00
dff31b0b37Docs audit: phase-1 script prints domain-level forward-auth + roles sync; install.sh creates /srv/live; STATUS currentBrandyn / Techy2026-10-31 00:55:33 -05:00
357bb61b65MediaMTX: write webrtcAdditionalHosts into the generated config (env-based value left it empty and MediaMTX refused to start)Brandyn / Techy2026-10-31 00:48:27 -05:00
b2869c3740Generated configs out of the repo: *.example.* templates only; configure.py refuses to apply over CHANGEME placeholdersBrandyn / Techy2026-10-31 00:32:30 -05:00
50d2f1c21dCaddy: mount /srv/live (live portal returned 404 inside the container)Brandyn / Techy2026-10-31 00:25:44 -05:00
384a7ed552Per-host group gating in Caddy from X-Authentik-Groups; Discord roles -> Authentik groups policy; domain-level forward auth documentedBrandyn / Techy2026-10-30 23:22:20 -05:00
bee53f2718README: domain-level forward auth as the recommended Authentik setupBrandyn / Techy2026-10-30 23:19:45 -05:00
82df0b1583Live portal: Go Live — browser window capture published over WHIP as <user>/HelmetCam-<date>; dumpd /me/stream-keyBrandyn / Techy2026-10-30 23:04:33 -05:00
3d42271ae2Record streams into hidden .live/ and publish finished files via the sweep; plugin 0.1.2 feed wordingBrandyn / Techy2026-10-30 22:45:30 -05:00