fix(immich): ML-Egress-Netz fuer Modell-Download

immich_machine_learning hing nur in immich_default (internal: true) ->
kein DNS/Egress, /cache leer, Logs "Failed to resolve huggingface.co".
Container healthy, aber Smart Search + Gesichtserkennung faktisch tot.

Fix: dediziertes nicht-internes Netz immich_egress nur an ML + explizites
dns 1.1.1.1/8.8.8.8 (DNS-Regel docs/WORKFLOW.md). DB/Redis bleiben in
immich_default isoliert (P3). Bewusst nicht frontend_net (unauth. ML-API).

Doku: Architektur-Zielbild (Netze + ML-Zeile), SERVICE_CATALOG, DECISIONS-ADR.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@
This commit is contained in:
2026-06-16 10:51:16 +02:00
parent e8cde1e2e0
commit 15b351fa25
4 changed files with 49 additions and 4 deletions
+16
View File
@@ -48,7 +48,18 @@ services:
volumes:
- model-cache:/cache
networks:
# immich_default (internal) = Erreichbarkeit durch immich-server.
# immich_egress (nicht-internal) = Outbound zu huggingface, damit ML die
# Modelle (CLIP ViT-B-32, buffalo_l) einmalig nach model-cache laedt.
# Ohne dieses Netz scheitert der Modell-Download an der DNS-Aufloesung
# (immich_default ist internal: true) -> Smart Search/Gesichtserkennung tot.
- immich_default
- immich_egress
dns:
# Egress-Netz braucht externe Aufloesung (huggingface.co); explizit nach
# docs/WORKFLOW.md "DNS-Regeln fuer Container", analog traefik/ddns-updater.
- 1.1.1.1
- 8.8.8.8
security_opt:
- no-new-privileges:true
@@ -86,5 +97,10 @@ networks:
name: immich_default
internal: true
driver: bridge
immich_egress:
# Bewusst NICHT internal: nur fuer den ML-Modell-Download (Outbound).
# Nur immich_machine_learning haengt hier; DB/Redis bleiben in immich_default.
name: immich_egress
driver: bridge
frontend_net:
external: true