SSO portal
Authelia — SSO portal
https://auth.gary-smith.netCentral sign-in for all gated apps. Users gary + trudy, TOTP/WebAuthn, session cookie on .gary-smith.net (8 h / 4 h idle).
Proxy sites (Caddy, https://<name>.gary-smith.net)
Jellyfin
https://jellyfin.gary-smith.netMedia server — Movies (1,034), TV, music. Own login kept by design (not SSO-gated). Runs on the DS920+ NAS.
LibreChat
https://librechat.gary-smith.netMain AI front end v0.8.9-rc1, with the Household Assistant, agents + KB, and the local Strata model as a custom endpoint. Replaced Open WebUI.
DocDesk
https://docdesk.gary-smith.netBrowser editor for the household KB on the NAS (stuff/AI/kb). GitHub: smithga/docdesk. Has its own login, so behind the gate that's two sign-ins.
Coolify
https://coolify.gary-smith.netSelf-hosting / deploy console for the stack on AI-Worker. Its own OIDC login — the SSO gate must stay off this site or its discovery calls 401.
Portainer
https://webui.gary-smith.netDocker container console for AI-Worker's stack. Gated to the admins group only (Trudy blocked). Port needs re-checking: 192.168.0.15:3000 is currently owui-trial, not Portainer.
Kanban
https://kanban.gary-smith.netKanban board for household / project tasks. <fill in: which app & version>
Qwen Code
https://qwencode.gary-smith.netBrowser front end for the Qwen Code CLI coding agent, pointed at the local Strata model. <fill in: exact tool>
Collectables
https://collectables.gary-smith.netCollection / inventory tracker. <fill in: app + what it tracks>
Dashboard (this page)
http://192.168.0.15:8081nginx:alpine container dashboard on AI-Worker; files in the NAS share stuff/AI/dashboard. Edit index.html there and reload — no rebuild.
Direct host:port (no proxy name)
LibreChat admin panel
http://192.168.0.15:3090Container admin-panel (3090 → 3000/tcp). Administration UI for LibreChat users/instances. <fill in: exact tool>
CryptPad
http://192.168.0.15:3001 (+3002, main + sandbox origins)Zero-knowledge collaborative documents. Container cryptpad: 3001 → 3000 (main), 3002 → 3001 (sandbox). No proxy name yet.
AdGuard Home
http://192.168.0.10:3000Household DNS: ad/tracker blocking, static leases, and the *.gary-smith.net → 192.168.0.10 rewrite that makes the names resolve on the LAN. Web UI.
Strata (Qwen inference)
http://192.168.0.10:8080Local LLM server, swift-1.5 IQ3_XXS, on the RTX 5070 Ti 16 GB. OpenAI-compatible endpoint — used by LibreChat, Qwen Code, Claude Code CLI. No web UI.
DSM (Synology DS920+)
http://192.168.0.80:5000NAS admin console — SMB shares (this dashboard and the KB live in share stuff > folder AI), storage, backups, Jellyfin host. <fill in: 5000 vs 5001 assumed>
Open WebUI trial (teardown ~2026-11-12)
http://192.168.0.15:3000 · container owui-trialv0.12.5 two-week trial (started 2026-10-29). Verdict 2026-11-01: keep LibreChat, tear the trial down ~2026-11-12. Verified 2026-11-06: 3000 = owui-trial (3000 → 8080/tcp).
Transmission
http://192.168.0.15:<fill in>Torrent daemon used by the Torrentleech workflow. Web UI port <fill in — 9091 is the default; not seen listening on AI-Worker in the 2026-11-06 probe>