From 97d1ba97a9eb64aae9b3de25814b39f728185246 Mon Sep 17 00:00:00 2001 From: Brandyn / Techy Date: Sat, 31 Oct 2026 17:37:28 -0500 Subject: [PATCH] STATUS/plan: phase 10 Gitea via Authentik verified Co-Authored-By: Claude Fable 5.1 --- CommunityDiscordMedia.md | 2 +- STATUS.md | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CommunityDiscordMedia.md b/CommunityDiscordMedia.md index b761b13..b81b011 100644 --- a/CommunityDiscordMedia.md +++ b/CommunityDiscordMedia.md @@ -246,7 +246,7 @@ Checklist: publishes the plugin zip is the obvious first pipeline - risk: the runner's Docker socket is root on the host for anyone who can push a workflow -### Phase 10 — Gitea login via Authentik (OIDC) (compose done; Authentik + Gitea UI steps pending) +### Phase 10 — Gitea login via Authentik (OIDC) ✅ live, verified Same pattern as Jellyfin: Authentik is the identity, Gitea trusts it. - [ ] Authentik → Applications → Create with provider → OAuth2/OpenID: name `gitea`, redirect `https://git.HOST/user/oauth2/authentik/callback`, authorization flow implicit-consent, scopes diff --git a/STATUS.md b/STATUS.md index 6be44c3..c5f3288 100644 --- a/STATUS.md +++ b/STATUS.md @@ -33,7 +33,7 @@ Source of truth: this repo, `techy/Media-Server-Setup` on the stack's own Gitea | Anyone in the Discord server | Watch recordings and clips by streamer and season | Jellyfin `https://watch.…/` | Discord (Authentik) | | Anyone in the Discord server | Watch live: all active streams in dockable windows, audio follows focus, per-window mute/volume | Live portal `https://live.…/` | Discord (Authentik, domain-level) — **live, shows a real stream** | | Streamer (Windows) | **Go Live** from the browser: pick the WarDogs window (+audio on Windows Chrome 141+; Linux/Mac video only), streams as `/HelmetCam-`; no OBS needed | Live portal → Go Live | Discord; key fetched for the logged-in user — **verified end to end** (publish → `.live` → sweep → title folder) | -| Devs | Host code, review, CI | Gitea `https://git.…/`, ssh 2222 | **local account** (Discord later) | +| Devs | Host code, review, CI | Gitea `https://git.…/`, ssh 2222 | Discord (Authentik), group `git-users`; `git-admins` = site admin | | Bot dev | Push code, restart container, read logs; web UI at `https://bot.…/` | Gitea + compose; `bot/AGENT.md` | web UI behind Discord (Authentik), once its provider exists | | Admin | Hostnames, bot token/guild, webhook; streamers/editors are Discord roles → Authentik groups | `./configure.py` | ssh | | Admin | Pair a gamer's device, approve their folder | Syncthing UI `https://ovh1…/sync/` | Discord + group `media-admins`, then Syncthing's GUI password | @@ -57,7 +57,7 @@ Source of truth: this repo, `techy/Media-Server-Setup` on the stack's own Gitea | Jellyfin | watch page, SSO via Authentik, direct play only | live | | Vanguard Metadata plugin | seasons by tag, Discord names/avatars/events, feed, playback policy | **0.1.3 built** (flat `__<ts>` names, policy task, feed wording) — install pending; server has 0.1.0 or 0.1.2 | | MariaDB | databases for the bot and Gitea; public :3306, root local-only | live | -| Gitea | git hosting on MariaDB, Actions enabled; holds this repo | live, local admin; Discord login via Authentik OIDC **compose ready, UI steps pending** | +| Gitea | git hosting on MariaDB, Actions enabled; holds this repo | live; Discord login via Authentik OIDC **verified**; access = `git-users`/`git-admins` groups; local admin as fallback | | act_runner | CI jobs in Docker | **not registered** | | discord-bot | Python runtime, idles until `bot/app/main.py` exists | live, no code yet | | `bot.` host | bot web UI behind Authentik forward-auth; Caddy requires group `bot-users` (from a Discord role) | Caddy block live; **`bot` CNAME still points at the wrong IP; roles→groups policy pending** | @@ -69,7 +69,6 @@ Source of truth: this repo, `techy/Media-Server-Setup` on the stack's own Gitea 1. Authentik: `discord-roles-to-groups` policy so `streamers`/`editors`/`media-admins`/`bot-users` follow Discord roles (`bot-users` group needed for the bot host). Set the provider's Invalidation flow to `default-provider-invalidation-flow` so every logout forces a full re-login. 2. Confirm plugin 0.1.3 under Jellyfin → Plugins and the Gitea runner registered. 3. Portal viewer during a real stream: corner chip `webrtc`; Windows Go Live with WarDogs audio (first Windows streamer). -4. Gitea login via Authentik: deploy the compose change, then the Authentik provider + Gitea auth source (README 5e). 5. Housekeeping: pin `AUTHENTIK_TAG`, rotate the Discord client secret seen in a screenshot, nightly Postgres dump, Caddyfile formatting warning. 6. Medal filename pattern in the plugin (need a sample filename). 7. Home archive puller on the home box.