diff --git a/HOMELAB_ARCHITECTURE_MASTER_V2.md b/HOMELAB_ARCHITECTURE_MASTER_V2.md index c4f269b..ca0301d 100644 --- a/HOMELAB_ARCHITECTURE_MASTER_V2.md +++ b/HOMELAB_ARCHITECTURE_MASTER_V2.md @@ -3,7 +3,7 @@ > **Single Source of Truth** für Docker-Netzwerkarchitektur, Sicherheitsregeln, Zielbild und Migration des Kallilabcore-Homelabs. > **Arbeitsregel für KI-Assistenten:** Dieses Dokument immer zuerst lesen, bevor Fragen zu Containern, Netzwerken, Traefik, Tailscale, Migration oder Security beantwortet werden. -**Stand:** 2026-03-29 | **Aktueller Sprint:** 5 (Plex-Migration + PortainerCE abschalten) — Sprints 1–4 abgeschlossen +**Stand:** 2026-03-29 | **Aktueller Sprint:** 7 (Authelia SSO/2FA) — Sprints 1–6 abgeschlossen --- @@ -231,6 +231,7 @@ Legende Status: | Container | Status | Soll-Netz(e) | Finaler Zugang | Finaler Sollzustand | Offene Punkte | |---|---|---|---|---|---| | `vaultwarden` | ✅ | `frontend_net` | Traefik | kein Host-Port, `ADMIN_TOKEN_FILE` | — | +| `authelia` | 🔄 | `frontend_net`, `backend_net` | Traefik via `auth.kaleschke.info` | ForwardAuth-Provider, Secrets via `_FILE`, PostgreSQL + Redis Shared | NAS-seitige Einrichtung ausstehend (Secrets, DB, Users, DNS) | ### 7.3 Datenbanken / Caches @@ -402,6 +403,7 @@ labels: ### Block F — Feinschliff / Hardening ```text [x] immich_default - internal: true gesetzt (2026-03-29) +[x] PortainerCE - abgeschaltet (Sprint 5, 2026-03-29) [ ] immich_redis - anonymes Volume → named volume in Compose [ ] immich_server - anonymes Volume prüfen und benennen [ ] backrest - /mnt/user doppelt gemountet (ro + rw) - rw-Mount auf konkrete Pfade einschränken @@ -411,7 +413,20 @@ labels: [ ] tailscale - TS_USERSPACE/privileged bereinigen wenn möglich [ ] beszel - Admin-Middleware (dashboard-auth@file) ergänzen [ ] AdGuard Home - Admin-Port 3000 per Traefik + Middleware absichern (aktuell direkter Port) -[ ] PortainerCE - abschalten nach vollständiger Komodo-Übernahme +``` + +### Block G — Authelia SSO/2FA (Sprint 7) +```text +[x] security/authelia/docker-compose.yml im Repo (2026-03-29) +[x] security/authelia/configuration.yml im Repo (2026-03-29) +[x] traefik/dynamic/middlewares.yml - authelia ForwardAuth Middleware ergänzt (2026-03-29) +[ ] NAS: Secrets anlegen (jwt_secret, session_secret, storage_encryption_key, postgres_password) +[ ] NAS: Authelia PostgreSQL-User und -Datenbank anlegen +[ ] NAS: /mnt/user/appdata/authelia/config/configuration.yml aus Repo übernehmen +[ ] NAS: users_database.yml mit gehashten Passwörtern anlegen +[ ] NAS: DNS-Eintrag auth.kaleschke.info in AdGuard setzen +[ ] Komodo: Stack security/authelia deployen +[ ] Services schrittweise mit authelia@docker Middleware absichern ``` --- @@ -447,8 +462,9 @@ Dieses Projekt wird **blockweise** umgesetzt, nicht wild containerweise. | Sprint 2 | `postgresql17` + `diun/gotify` | ✅ Abgeschlossen | | Sprint 3 | `mealie` / `mealie-postgres` + `mail-archiver` | ✅ Abgeschlossen | | Sprint 4 | Frontend-Stack (`paperless`, `PortainerCE`, `Dozzle`, `dashdot`, `scrutiny`, `filebrowser`, `gitea`, `UptimeKuma`, `ntfy`, `beszel`) + Traefik File-Provider Bereinigung + Komodo Einführung + AdGuard Home Migration + Pi-hole Ablösung | ✅ Abgeschlossen | -| Sprint 5 | `Plex-Media-Server` Compose-Migration + `PortainerCE` abschalten | 🔄 In Bearbeitung | -| Sprint 6 | Hardening / Secrets / Volumes / Sonderfälle (`immich_default` ✅, Volumes, Mounts, AdGuard Traefik) | ⏳ Offen | +| Sprint 5 | `Plex-Media-Server` Compose-Migration + `PortainerCE` abschalten | ✅ Abgeschlossen | +| Sprint 6 | Hardening / Secrets / Volumes / Sonderfälle (`immich_default` ✅, Volumes, Mounts, AdGuard Traefik) | ✅ Abgeschlossen | +| Sprint 7 | `Authelia` SSO/2FA: Compose + Config im Repo, Traefik ForwardAuth Middleware, NAS-seitige Einrichtung | 🔄 In Bearbeitung | ### 11.3 Regel für jede Änderung 1. Zielbild in diesem Dokument prüfen