immich_machine_learning haengt seit dem 7.6. unhealthy: der gunicorn-Worker
bleibt nach "Control socket listening" in futex_do_wait stehen und erreicht
nie "Application startup complete" (/ping -> ConnectTimeout/ReadTimeout).
Kein OOM (22 GB frei), kein Disk-I/O-Wait, laeuft als root, Socket wird
erstellt - klassischer Fork-Deadlock von mimalloc (LD_PRELOAD) im geforkten
Worker unter gunicorn 25.1.0.
mimalloc per LD_PRELOAD="" deaktiviert. Reine Allocator-Optimierung,
funktional unkritisch, reversibel. Bekannte Upstream-Regression seit
Immich 2.6 (immich#27228, #22317) ohne offiziellen Fix; Restart und
force-recreate sind dort als wirkungslos dokumentiert.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Behebt drei Befunde aus dem Operations-Report 2026-06-10:
- daily-status-report.sh: Zertifikate werden vor der Auswertung pro
Domain-Set dedupliziert; nur das laengstlaufende Cert zaehlt. Traefik
haelt waehrend der Erneuerung altes + neues Cert in acme.json, was
bisher eine falsche KRITISCH-Warnung (traefik.kaleschke.info 5 Tage)
ausloeste, obwohl das neue Cert 65 Tage Restlaufzeit hat.
- monitoring/blackbox-exporter: DNS von 1.1.1.1/8.8.8.8 auf AdGuard
(172.23.0.3 via dns_net) umgestellt. Externe Resolver lieferten die
WAN-IP, was Hairpin-NAT-Timeouts (9,5s) bei Probes von cloud/glances
verursachte (662 Fehler/Tag).
- log-noise.patterns: Fritz!Box-SOA-Fehler (AdGuard, RFC-1035-Verstoss)
und fehlendes grafana-amazonprometheus-datasource-Plugin als bekanntes
Rauschen klassifiziert (~1800 Zeilen/Tag).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Host gehaertet 2026-06-07: PermitRootLogin prohibit-password,
PasswordAuthentication no, KbdInteractiveAuthentication no; PubkeyAuthentication yes.
Persistenz upgrade-sicher via idempotentem /boot/config/ssh-harden.sh aus
/boot/config/go (sshd -t vor HUP-Reload, Syslog-Selbst-Verifikation).
Manueller Post-Upgrade-Check und Rollback dokumentiert.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Verhindert Dauer-ntfy-Alarm fuer den entfernten userspace-Docker-Tailscale. Natives Tailscale-Plugin ist kein Container und wird hier bewusst nicht geprueft.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mealie-Container konnte auth.kaleschke.info nicht aufloesen/erreichen (httpx.ConnectTimeout beim OIDC-Discovery). extra_hosts-Muster wie Komodo.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
OIDC_AUTH_ENABLED + Authelia-Provider, Secret via ${MEALIE_OIDC_CLIENT_SECRET} (Stack-ENV). Kein Auto-Redirect, Self-Signup an. Authelia-Client mealie (one_factor) host-seitig angelegt.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- generic_oauth gegen Authelia (client_id grafana, PKCE, client_secret via __FILE aus /mnt/user/appdata/secrets/grafana_oidc_client_secret)
- Traefik-Middleware authelia@file entfernt -> OIDC ist jetzt die Auth; lokaler Grafana-Admin bleibt Fallback
- Authelia-Client wurde host-seitig angelegt (Secret nur als Host-Datei + Hash in Authelia-Config)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Expliziten 2FA-Block auf files/scrutiny reduziert (borg/code sind via
Catch-all *.kaleschke.info=two_factor weiterhin 2FA). Damit matcht die
Repo-access_control-Sektion den Host-Stand -> authelia-diff.sh wird clean,
sobald der Host-Repo-Mirror auf diesen Commit gezogen ist.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>