# Authentik SSO — Setup & Status ## Server - **Host:** `` (Assassin, Debian 6.12.90 amd64) - **Authentik version:** 2025.2.4 (Enterprise) - **Stack location:** `/home/kenpat/docker/authentik/docker-compose.yml` - **Web UI:** `http://:` / `http://:/if/admin/` - **API base:** `http://:/api/v3/` ## Architecture Authentik runs as a 4-container stack: | Container | Role | |-----------|------| | `authentik` | Web server (port ) | | `authentik-worker` | Background task worker | | `authentik-postgres` | PostgreSQL 16 database | | `authentik-redis` | Redis cache | Both server and worker are on the `kitestacks` external Docker network. ## Configured Applications | App | Provider Type | Client ID | Status | |-----|--------------|-----------|--------| | Grafana | OAuth2/OIDC | `grafana` | ✅ Configured | | Kavita | OAuth2/OIDC | `kavita` | ✅ Configured, secret filled | | Open WebUI | OAuth2/OIDC | `open-webui` | ✅ Configured | | Forgejo | OAuth2/OIDC | `forgejo` | ✅ Configured, OAuth2 source in Forgejo admin | | OpenProject | OAuth2/OIDC | `openproject` | ✅ Configured, secret filled, upgraded to v15 | | Shaarli | Proxy | — | ✅ Proxy Provider + Embedded Outpost, CF tunnel pending | | Uptime Kuma | Proxy | — | ✅ Proxy Provider + Embedded Outpost, CF tunnel pending | | LiteLLM | Proxy | — | ✅ Proxy Provider + Embedded Outpost, CF tunnel pending | > Cloudflare tunnel routes for Shaarli, Uptime Kuma, LiteLLM still point to service containers directly — update to `http://authentik:` in the Cloudflare dashboard to activate proxy protection. ## All Services Running on Server | Service | Image | External Port | |---------|-------|---------------| | forgejo | forgejo: | (HTTP), (SSH) | | kite-openwebui | open-webui | | | grafana | grafana-oss | | | cloudflared | cloudflared | — (tunnel) | | shaarli | shaarli | | | homepage | nginx | | | homepage-test | gethomepage | | | kitestacks-portal | nginx | | | openproject | openproject: | | | kite-litellm | litellm | | | bookstack | bookstack | | | authentik | server:latest | | | kavita | kavita | | | portainer | portainer-ce | | | prometheus | prometheus | | | node-exporter | node-exporter | | | uptime-kuma | uptime-kuma | | ## External Access (Cloudflare Tunnel) Tunnel is token-based — ingress rules live in the Cloudflare dashboard: **dash.cloudflare.com → Zero Trust → Networks → Tunnels** No local `config.yml` — all routing configured via the dashboard. ## Pending - [ ] Update Cloudflare tunnel routes: `links.kitestacks.com`, `status.kitestacks.com`, `llm.kitestacks.com` → `http://authentik:` - [ ] Update Cloudflare tunnel route: `tasks.kitestacks.com` → `http://openproject:` - [ ] Test SSO end-to-end for all services - [ ] Phase 2: add friend's Authentik account, verify auto-provisioning across all apps ## Excluded from SSO - Portainer — admin tool, excluded by design - Prometheus / Node Exporter — internal metrics, excluded by design - Homepage — public landing page, no auth needed