diff --git a/HOMELAB_ARCHITECTURE_MASTER_V2.md b/HOMELAB_ARCHITECTURE_MASTER_V2.md index 719e75e..2073c55 100644 --- a/HOMELAB_ARCHITECTURE_MASTER_V2.md +++ b/HOMELAB_ARCHITECTURE_MASTER_V2.md @@ -47,7 +47,7 @@ ## 2. Architektur-Prinzipien ### P1 — Traefik ist der einzige öffentliche HTTP(S)-Einstiegspunkt -Kein Webdienst veröffentlicht finale direkte Host-Ports außer `traefik` selbst. Begründete Ausnahmen: `gitea`-SSH (Port 222), `AdGuard Home` (Port 53/DNS + 3000/Admin), `Tailscale`, `Plex-Media-Server`. +Kein Webdienst veröffentlicht finale direkte Host-Ports außer `traefik` selbst. Begründete Ausnahmen: `gitea`-SSH (Port 222), `AdGuard Home` (Port 53/DNS + 8082/Admin), `Tailscale`, `Plex-Media-Server`. ### P2 — Das Setup bleibt bewusst einfach: `frontend_net` + `backend_net` + app-interne Netze - `frontend_net` = Proxy-/Web-Netz @@ -158,7 +158,7 @@ Diese Dienste sind **keine Public Apps**: - `speedtest-tracker` — speedtest.kaleschke.info (Middleware) - `stirling-pdf` — pdf.kaleschke.info (Middleware) - `Traefik-Dashboard` -- `AdGuard Home` — Port 3000 direkt (kein Traefik, nur LAN-Zugang) +- `AdGuard Home` — Port 8082 direkt auf die Admin-UI (`80` im Container), kein Traefik, nur LAN-Zugang ### 4.3 Regel Wenn ein Dienst im `frontend_net` hängt, heißt das **nicht automatisch öffentlich**. Admin-Dienste dürfen im `frontend_net` liegen, wenn: @@ -230,7 +230,7 @@ Legende Status: | Container | Status | Soll-Netz(e) | Finaler Zugang | Finaler Sollzustand | Offene Punkte | |---|---|---|---|---|---| | `traefik` | ✅ | `frontend_net`, `backend_net` | öffentlich 80/443 | zentraler Ingress, Service-Routing via Docker-Labels | — | -| `AdGuard Home` | ✅ | `dns_net` (172.23.0.3), `frontend_net` | Port 53 DNS direkt, Port 3000 Admin (LAN) | DNS-Server + Upstream zu unbound; kein Traefik (DNS-Sonderfall) | Admin-Port per Traefik + Middleware absichern (Block F) | +| `AdGuard Home` | ✅ | `dns_net` (172.23.0.3), `frontend_net` | Port 53 DNS direkt, Port 8082 Admin (LAN) | DNS-Server + Upstream zu unbound; kein Traefik (DNS-Sonderfall) | Admin-Port per Traefik + Middleware absichern (Block F) | | `unbound` | ✅ | `dns_net` | intern | Upstream-Resolver für AdGuard, isoliert | — | | `ddns-updater` | ✅ | `frontend_net` | intern | Cloudflare DNS API; bleibt in `frontend_net` | Dokumentierte Ausnahme | | `tailscale` | ✅ | `host` | VPN-Zugang | Git-Stack (`host-services/tailscale/`) | `TS_USERSPACE`/`privileged` später prüfen | @@ -375,7 +375,7 @@ Für den laufenden Betrieb gilt stattdessen: |---|---|---| | `traefik` | Host-Ports 80/443 | zentraler Reverse Proxy | | `tailscale` | `host` | VPN-Zugang; Umstellung nur kontrolliert möglich | -| `AdGuard Home` | Port 53 (TCP/UDP) direkt + Port 3000 Admin | DNS benötigt direkten Port 53; kein HTTP-Proxy für DNS möglich | +| `AdGuard Home` | Port 53 (TCP/UDP) direkt + Port 8082 auf Container-Port 80 | DNS benötigt direkten Port 53; kein HTTP-Proxy für DNS möglich | | `Plex-Media-Server` | `host` | Discovery / mDNS / Plex GDM | | `scrutiny` | `privileged: true` | SMART-Datenzugriff auf Laufwerke | | `Komodo` | Docker-Socket Zugriff | Stack-Deployments benötigen Socket | @@ -467,7 +467,7 @@ Komodo ist nun der primäre GitOps-Stack-Manager: - AdGuard läuft als Git-Stack (`host-services/Adguard/docker-compose.yml`) - Netzwerke: `dns_net` (feste IP 172.23.0.3) + `frontend_net` - Port 53 (DNS) direkt gebunden — dokumentierte Ausnahme -- Port 3000 (Admin-UI) direkt gebunden — Traefik-Absicherung ausstehend (Block F) +- Admin-UI direkt gebunden via Host-Port 8082 auf Container-Port 80 — Traefik-Absicherung ausstehend (Block F) - `unbound` läuft weiterhin als Upstream-Resolver in `dns_net` ### diun — Entfernung (2026-03-28) diff --git a/host-services/Adguard/docker-compose.yml b/host-services/Adguard/docker-compose.yml index 471a11f..49720ce 100644 --- a/host-services/Adguard/docker-compose.yml +++ b/host-services/Adguard/docker-compose.yml @@ -11,7 +11,6 @@ services: ipv4_address: 172.23.0.3 frontend_net: ports: - - "3000:3000" - "53:53/tcp" - "53:53/udp" - "8082:80"