• Joined on 2026-10-30
techy pushed to main at techy/Media-Server-Setup 2026-11-06 20:05:58 -05:00
630b253278 bunch of shit
techy pushed to main at techy/Media-Server-Setup 2026-11-04 22:25:50 -05:00
ca01516d42 Stuck-recording triage, a diag landing page, and the fixes behind Tuesday's symptoms
techy pushed to main at techy/Media-Server-Setup 2026-11-03 22:07:22 -05:00
a9de09fa18 Alarm mentions, targeted --set, and a logout that actually logs out
techy pushed to main at techy/Media-Server-Setup 2026-11-03 20:58:20 -05:00
b38d40ab0c Elastic security, our own metrics, and an alert pipeline that can actually reach Discord
ef357c6d82 Docs follow the Elastic swap, and apply removes orphaned containers
6f7fb29ae0 metricbeat sets the same correlation fields as filebeat, so one dashboard spans logs and metrics
88bb28989c Rip out the Victoria stack for Elastic: four containers, Kibana as the single pane
6f77764fec Propagate this build's lessons into the scripts and every runbook
Compare 59 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 19:26:55 -04:00
c56a2997ba about: clips section grouped with contributing, after Stream
272791ea7d about: dedicated 'Send your game clips' section for everyone
Compare 2 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 19:24:53 -04:00
2d8e6bb68c about: show only sections the account's groups actually permit
techy pushed to main at techy/Media-Server-Setup 2026-10-31 19:23:46 -04:00
4b2f3175ad about: section leads state actual membership; admin view warns where a gate will still refuse
techy pushed to main at techy/Media-Server-Setup 2026-10-31 19:03:51 -04:00
ef3a0a3fcd Caddy: /me route matches the bare path too (gateway identity call fell through to copyparty)
63ba628fad STATUS: /about and /clips live
Compare 2 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 19:01:01 -04:00
48409b5dbf Self-service clip intake (/clips + dumpd /me/clips via Syncthing REST) and role-aware gateway page (/about + dumpd /me)
367d41fe18 addClipUser.sh + README: onboarding a gamer's clips via Syncthing
Compare 2 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 18:53:52 -04:00
7213460c10 Caddy: /logout on every gated host redirects to Authentik sign-out
68c2866a28 Syncthing: GUI auth disabled behind the Authentik gate; docs
446fd32c81 STATUS: MediaMTX restarted (microsecond names live); roles policy to be proven by natural logins
97d1ba97a9 STATUS/plan: phase 10 Gitea via Authentik verified
52c065b753 roles policy: only revoke memberships it granted itself (manual adds survive); track in user attributes
Compare 6 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 18:23:11 -04:00
7e935c31d1 Gitea access gated by Authentik group git-users; roles table example
b661ee795b Phase 10: Gitea OIDC login prerequisites in compose (external-only registration, auto-register, account linking); README steps
6db786e00e Phase 12 verified live; MediaMTX config changes documented as restart-only on this setup
Compare 3 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 17:26:59 -04:00
f1d19ba32d Plan: off-site gap filling option (home NVENC / Spot GPU) and SYS-3 availability note
9dc81ae5aa README/STATUS: gap filling availability and the on/off commands
4101498ad7 Sweep: fix gap-total parsing so FILL_GAPS_MS actually triggers
473247e710 Sweep: opt-in gap filling for streams (FILL_GAPS_MS) — CFR re-encode with duplicated frames, raw kept in .src/, timecode carried; default off
f36487d4b5 Timecode: nominal fps + proper drop-frame detection, shell-safe plan output; streams never VFR-re-encoded; gap list in the sidecar; docs
Compare 5 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 17:14:13 -04:00
3fcb8fbe99 Phase 12: frame-accurate timecode via an overscan band — vgstrip encoder/decoder, sweep writes tmcd + creation_time + sidecar, dumpd /time, Caddy /time routes, MediaMTX microsecond names, /dock/clock/ page, dock band setup via obs-websocket, Go Live band composite + toggle, portal crops the band
89841c3d2a Plan: phase 12 — permanent overscan band with a machine-readable server clock; drift-aware decode
f1bd28f8d1 Plan: phase 12 redesigned as a 10 s machine-readable sync burst decoded by the sweep into the timecode track; nothing visible in finals
4419cc9d67 Plan: dock manages the OBS clock overlay through obs-websocket
57be5bba52 Plan: burned-in server clock on the Go Live (WebRTC) path via canvas compositing
Compare 9 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 16:44:42 -04:00
2988e7a804 Caddy main host: route /me/* to dumpd (the dock's token request was falling through to copyparty -> 403)
techy pushed to main at techy/Media-Server-Setup 2026-10-31 16:40:52 -04:00
10cfc6e505 check.sh: syntax checks for shell, python, yaml, dock JS, generators, portal build
733f6c54d5 dock: fix JS syntax error (?? mixed with ||) that disabled every button
65aa8b0894 Docs: provider invalidation flow so every logout forces a full Discord re-login
07a05788ad dock: sign out ends the Authentik login too, then returns to the dock
Compare 4 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 16:35:49 -04:00
d44546ef29 dock: sign out in the background and return to the dock instead of landing on copyparty
techy pushed to main at techy/Media-Server-Setup 2026-10-31 16:34:48 -04:00
49ea1cd5d0 dock: sign out link (Authentik session) for re-login after group changes
techy pushed to main at techy/Media-Server-Setup 2026-10-31 16:27:13 -04:00
dcc347e1ea Phase 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 interruption
2a74cb7b40 Logout ends the Authentik session: copyparty idp-logout -> outpost sign_out; live portal Sign out link
Compare 2 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 16:10:03 -04:00
268a6a2f81 copyparty idp-h-key: Caddy injects a header with a secret name (COPYPARTY_IDP_KEY); IdP headers ignored without it
b89afb50d2 Caddy: /whoami on the main host echoes the Authentik identity headers for debugging
Compare 2 commits »
techy pushed to main at techy/Media-Server-Setup 2026-10-31 16:05:08 -04:00
c4a79c3316 README/plan: note WebDAV is available via app passwords but deliberately not set up
15402eeb82 Discord-only login: drop WebDAV/app-password path from docs and generated config comments
50c037e514 Phase 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/admin
76a7d06df4 Go Live: state the Windows-only quality/audio reality in the form; STATUS note
Compare 4 commits »