Configure Authelia GMX SMTP notifier
This commit is contained in:
@@ -43,6 +43,7 @@ Traefik ist der zentrale Web-Einstieg fuer HTTP(S). Admin-/Ops-UIs liegen entwed
|
|||||||
### Identity / Security
|
### Identity / Security
|
||||||
|
|
||||||
- Authelia stellt ForwardAuth fuer viele Admin-UIs bereit.
|
- Authelia stellt ForwardAuth fuer viele Admin-UIs bereit.
|
||||||
|
- Authelia nutzt GMX SMTP fuer Identity-/2FA-Benachrichtigungen; Passwort liegt als Host-Secret `authelia_smtp_password.txt`.
|
||||||
- Vaultwarden ist ein separater Passwort-Tresor.
|
- Vaultwarden ist ein separater Passwort-Tresor.
|
||||||
- Komodo ist bewusst nicht pauschal hinter Authelia, weil UI, API, Webhooks und Periphery-WebSocket sonst leicht gebrochen werden koennen.
|
- Komodo ist bewusst nicht pauschal hinter Authelia, weil UI, API, Webhooks und Periphery-WebSocket sonst leicht gebrochen werden koennen.
|
||||||
- Komodo-Compose, Komodo-Secrets und Komodo-Runtime nur gemeinsam mit dem Betreiber aendern.
|
- Komodo-Compose, Komodo-Secrets und Komodo-Runtime nur gemeinsam mit dem Betreiber aendern.
|
||||||
@@ -157,6 +158,7 @@ KI-Agenten sollen konservativ arbeiten: keine indirekten Live-Aenderungen, keine
|
|||||||
- `backend_net` und app-interne Netze muessen bei Runtime-Problemen live geprueft werden, weil Compose-Projektpraefixe Netznamen veraendern koennen.
|
- `backend_net` und app-interne Netze muessen bei Runtime-Problemen live geprueft werden, weil Compose-Projektpraefixe Netznamen veraendern koennen.
|
||||||
- Authelia `configuration.yml` ist Repo-Baseline fuer nicht geheime Einstellungen, wird aber nicht automatisch von Komodo auf den Host kopiert; die produktive Host-Datei kann OIDC-/Secret-Konfiguration enthalten. Bei Auth-Aenderungen Repo-Baseline, Host-Config und Compose-Middlewares pruefen und nicht blind ueberschreiben.
|
- Authelia `configuration.yml` ist Repo-Baseline fuer nicht geheime Einstellungen, wird aber nicht automatisch von Komodo auf den Host kopiert; die produktive Host-Datei kann OIDC-/Secret-Konfiguration enthalten. Bei Auth-Aenderungen Repo-Baseline, Host-Config und Compose-Middlewares pruefen und nicht blind ueberschreiben.
|
||||||
- Authelia nutzt PostgreSQL, aber bewusst kein Redis-Session-Backend; Redis ist kein Authelia-Bootstrap-Blocker.
|
- Authelia nutzt PostgreSQL, aber bewusst kein Redis-Session-Backend; Redis ist kein Authelia-Bootstrap-Blocker.
|
||||||
|
- Authelia-Notifier ist SMTP; bei Auth-Aenderungen Host-Config backupen, `authelia validate-config` ausfuehren und erst danach neu starten.
|
||||||
- `paperless-ngx` nutzt fuer DB/Redis bewusst Stack ENV statt `_FILE`.
|
- `paperless-ngx` nutzt fuer DB/Redis bewusst Stack ENV statt `_FILE`.
|
||||||
- `homepage`, `glances` und `komodo-periphery` nutzen Docker-Socket-Mounts; Zugriff bewusst behandeln.
|
- `homepage`, `glances` und `komodo-periphery` nutzen Docker-Socket-Mounts; Zugriff bewusst behandeln.
|
||||||
- `backrest`, `borg-ui` und `filebrowser` haben breite Mounts; bei Hardening nicht ad hoc, sondern gezielt vorgehen.
|
- `backrest`, `borg-ui` und `filebrowser` haben breite Mounts; bei Hardening nicht ad hoc, sondern gezielt vorgehen.
|
||||||
|
|||||||
@@ -129,6 +129,7 @@ Erwartete Basis unter `/mnt/user/appdata/secrets/`:
|
|||||||
- `authelia_jwt_secret.txt`
|
- `authelia_jwt_secret.txt`
|
||||||
- `authelia_postgres_password.txt`
|
- `authelia_postgres_password.txt`
|
||||||
- `authelia_session_secret.txt`
|
- `authelia_session_secret.txt`
|
||||||
|
- `authelia_smtp_password.txt`
|
||||||
- `authelia_storage_encryption_key.txt`
|
- `authelia_storage_encryption_key.txt`
|
||||||
- `immich_postgres_password.txt`
|
- `immich_postgres_password.txt`
|
||||||
- `komodo_mongo_password.txt`
|
- `komodo_mongo_password.txt`
|
||||||
@@ -234,6 +235,7 @@ Ziel:
|
|||||||
|
|
||||||
- gemeinsame DB verfuegbar
|
- gemeinsame DB verfuegbar
|
||||||
- zentrale Auth laeuft; Authelia nutzt bewusst kein Redis-Session-Backend
|
- zentrale Auth laeuft; Authelia nutzt bewusst kein Redis-Session-Backend
|
||||||
|
- Authelia SMTP-Notifier kann GMX erreichen
|
||||||
- Redis als shared Cache fuer abhaengige Apps verfuegbar
|
- Redis als shared Cache fuer abhaengige Apps verfuegbar
|
||||||
- Git-Zugriff wiederhergestellt
|
- Git-Zugriff wiederhergestellt
|
||||||
|
|
||||||
@@ -332,6 +334,17 @@ Das bedeutet:
|
|||||||
|
|
||||||
Nach einem Komodo-Neuaufbau muessen diese Werte vor dem Start des Stacks wieder gesetzt sein.
|
Nach einem Komodo-Neuaufbau muessen diese Werte vor dem Start des Stacks wieder gesetzt sein.
|
||||||
|
|
||||||
|
### `authelia`
|
||||||
|
|
||||||
|
Authelia nutzt GMX SMTP fuer Identity-/2FA-Benachrichtigungen.
|
||||||
|
|
||||||
|
Vor dem Start muessen vorhanden sein:
|
||||||
|
|
||||||
|
- `/mnt/user/appdata/secrets/authelia_smtp_password.txt`
|
||||||
|
- SMTP-Zugang fuer `michideheld@gmx.de`
|
||||||
|
|
||||||
|
Beim Smoke-Test muss `authelia validate-config` erfolgreich sein; der SMTP-Startup-Check darf den Start nicht blockieren.
|
||||||
|
|
||||||
### `nextcloud`
|
### `nextcloud`
|
||||||
|
|
||||||
`nextcloud` ist bewusst kein AIO-Stack, sondern ein klassischer App-/PostgreSQL-/Redis-Stack.
|
`nextcloud` ist bewusst kein AIO-Stack, sondern ein klassischer App-/PostgreSQL-/Redis-Stack.
|
||||||
|
|||||||
@@ -16,6 +16,13 @@ Dieses Dokument ist nur noch ein historischer Verlauf. Der aktuelle operative Ab
|
|||||||
|
|
||||||
## Historische Meilensteine
|
## Historische Meilensteine
|
||||||
|
|
||||||
|
### 2026-05-06 - Authelia GMX SMTP Notifier
|
||||||
|
|
||||||
|
- Authelia-Notifier von Filesystem-Log auf GMX SMTP (`submission://mail.gmx.net:587`) umgestellt.
|
||||||
|
- SMTP-Passwort bleibt ausserhalb des Repos unter `/mnt/user/appdata/secrets/authelia_smtp_password.txt`.
|
||||||
|
- Authelia-Compose erhaelt explizite DNS-Server, weil der SMTP-Startup-Check externe Namen wie `mail.gmx.net` aufloesen muss.
|
||||||
|
- Repo-Baseline und Host-Config muessen bei Auth-Aenderungen weiter bewusst gemerged und vor Restart validiert werden.
|
||||||
|
|
||||||
### 2026-05-06 - Hermes DR und Mail-Archiver Authelia
|
### 2026-05-06 - Hermes DR und Mail-Archiver Authelia
|
||||||
|
|
||||||
- Hermes Agent in `docs/RESTORE_MATRIX.md` und `docs/DISASTER_RECOVERY.md` mit Restore-Pfaden, Secret-/ENV-Hinweisen und Smoke-Test ergaenzt.
|
- Hermes Agent in `docs/RESTORE_MATRIX.md` und `docs/DISASTER_RECOVERY.md` mit Restore-Pfaden, Secret-/ENV-Hinweisen und Smoke-Test ergaenzt.
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Sie ist die fachliche Ergaenzung zu `docs/DISASTER_RECOVERY.md`.
|
|||||||
| Tailscale | Share / Borg | `/mnt/user/appdata/tailscale` | keine | Tailscale-State im Pfad | Host-Netz | Tailscale verbunden |
|
| Tailscale | Share / Borg | `/mnt/user/appdata/tailscale` | keine | Tailscale-State im Pfad | Host-Netz | Tailscale verbunden |
|
||||||
| PostgreSQL 17 | Share + Dumps | `/mnt/user/appdata/postgresql17` | `postgresql17-globals.sql`, `postgresql17-mailarchiver.dump`, `postgresql17-paperless.dump`, optional `postgresql17-authelia.dump` | `postgres_password.txt` | `backend_net` | DB startet, Ziel-Datenbanken vorhanden |
|
| PostgreSQL 17 | Share + Dumps | `/mnt/user/appdata/postgresql17` | `postgresql17-globals.sql`, `postgresql17-mailarchiver.dump`, `postgresql17-paperless.dump`, optional `postgresql17-authelia.dump` | `postgres_password.txt` | `backend_net` | DB startet, Ziel-Datenbanken vorhanden |
|
||||||
| Redis | Share / Host | `/mnt/user/appdata/redis` | keine | `redis_password.txt` | `backend_net` | Redis startet, Apps verbinden sich |
|
| Redis | Share / Host | `/mnt/user/appdata/redis` | keine | `redis_password.txt` | `backend_net` | Redis startet, Apps verbinden sich |
|
||||||
| Authelia | Borg | `/mnt/user/appdata/authelia/config`, `/mnt/user/appdata/secrets/*authelia*` | Shared PostgreSQL, optional Dump `postgresql17-authelia.dump` | JWT/Session/Storage/Postgres-Secret-Dateien | PostgreSQL 17, Traefik | Login-Seite und ForwardAuth funktionieren; aktive Sessions werden nach Restart neu aufgebaut |
|
| Authelia | Borg | `/mnt/user/appdata/authelia/config`, `/mnt/user/appdata/secrets/*authelia*` | Shared PostgreSQL, optional Dump `postgresql17-authelia.dump` | JWT/Session/Storage/Postgres-/SMTP-Secret-Dateien | PostgreSQL 17, Traefik, GMX SMTP | Login-Seite und ForwardAuth funktionieren; SMTP-Notifier startet; aktive Sessions werden nach Restart neu aufgebaut |
|
||||||
| Gitea | Borg / Share | `/mnt/user/services/gitea/data` | SQLite in `/data` | keine separaten Secret-Dateien dokumentiert | Traefik | Web-UI erreichbar, Repo sichtbar, SSH-Port reagiert |
|
| Gitea | Borg / Share | `/mnt/user/services/gitea/data` | SQLite in `/data` | keine separaten Secret-Dateien dokumentiert | Traefik | Web-UI erreichbar, Repo sichtbar, SSH-Port reagiert |
|
||||||
| Komodo | Borg / Share | `/mnt/user/appdata/komodo/core`, `/mnt/user/appdata/komodo/periphery` | `komodo-mongo.archive.gz` falls verifiziert | `komodo_mongo_password.txt`, `KOMODO_*` Stack ENV | Traefik, Mongo, Gitea | UI erreichbar, Periphery verbunden |
|
| Komodo | Borg / Share | `/mnt/user/appdata/komodo/core`, `/mnt/user/appdata/komodo/periphery` | `komodo-mongo.archive.gz` falls verifiziert | `komodo_mongo_password.txt`, `KOMODO_*` Stack ENV | Traefik, Mongo, Gitea | UI erreichbar, Periphery verbunden |
|
||||||
| Vaultwarden | Borg / Share | `/mnt/user/appdata/vaultwarden` | dateibasiert | `vaultwarden_admin_token.txt` | Traefik | Login-Seite erreichbar, Tresor-Daten sichtbar |
|
| Vaultwarden | Borg / Share | `/mnt/user/appdata/vaultwarden` | dateibasiert | `vaultwarden_admin_token.txt` | Traefik | Login-Seite erreichbar, Tresor-Daten sichtbar |
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Secret-Werte sind nicht enthalten. Es werden nur Secret-Namen, Env-Key-Namen und
|
|||||||
|
|
||||||
| Service | Zweck | Autoritativer Pfad | URL / Zugang | Abhaengigkeiten | Datenpfade | Backup / Restore | Traefik | Besonderheiten / TODOs |
|
| Service | Zweck | Autoritativer Pfad | URL / Zugang | Abhaengigkeiten | Datenpfade | Backup / Restore | Traefik | Besonderheiten / TODOs |
|
||||||
|---|---|---|---|---|---|---|---|---|
|
|---|---|---|---|---|---|---|---|---|
|
||||||
| `authelia` | ForwardAuth / zentrale Auth fuer Admin-UIs | `security/authelia/docker-compose.yml`, `security/authelia/configuration.yml` | `https://auth.kaleschke.info` | PostgreSQL 17, Traefik | `/mnt/user/appdata/authelia/config`, Authelia Secret-Dateien | Tier 1, config + DB + secrets | ja | Bewusst ohne Redis-Session-Backend; Repo-Baseline muss manuell in die Host-Config gemerged werden, OIDC/Secrets bleiben hostseitig; Access-Control und Compose-Middleware bei Aenderungen abgleichen |
|
| `authelia` | ForwardAuth / zentrale Auth fuer Admin-UIs | `security/authelia/docker-compose.yml`, `security/authelia/configuration.yml` | `https://auth.kaleschke.info` | PostgreSQL 17, Traefik, GMX SMTP | `/mnt/user/appdata/authelia/config`, Authelia Secret-Dateien | Tier 1, config + DB + secrets | ja | Bewusst ohne Redis-Session-Backend; SMTP-Notifier via GMX und `authelia_smtp_password.txt`; explizite DNS-Server fuer SMTP/NTP; Repo-Baseline muss manuell in die Host-Config gemerged werden, OIDC/Secrets bleiben hostseitig; Access-Control und Compose-Middleware bei Aenderungen abgleichen |
|
||||||
| `vaultwarden` | Passwort-Tresor | `security/vaultwarden/docker-compose.yml` | `https://vault.kaleschke.info` | Traefik, `frontend_net` | `/mnt/user/appdata/vaultwarden` | Tier 1 | ja | `ADMIN_TOKEN_FILE`; keine direkten Ports |
|
| `vaultwarden` | Passwort-Tresor | `security/vaultwarden/docker-compose.yml` | `https://vault.kaleschke.info` | Traefik, `frontend_net` | `/mnt/user/appdata/vaultwarden` | Tier 1 | ja | `ADMIN_TOKEN_FILE`; keine direkten Ports |
|
||||||
|
|
||||||
## Shared Infrastructure
|
## Shared Infrastructure
|
||||||
|
|||||||
@@ -77,15 +77,13 @@ storage:
|
|||||||
|
|
||||||
notifier:
|
notifier:
|
||||||
disable_startup_check: false
|
disable_startup_check: false
|
||||||
filesystem:
|
smtp:
|
||||||
filename: /config/notifications.log
|
address: submission://mail.gmx.net:587
|
||||||
# SMTP (fuer 2FA-Codes per Mail - optional, empfohlen fuer Produktion):
|
username: michideheld@gmx.de
|
||||||
# smtp:
|
sender: "Authelia <michideheld@gmx.de>"
|
||||||
# address: smtp://smtp.example.com:587
|
identifier: auth.kaleschke.info
|
||||||
# username: user@example.com
|
subject: "[Authelia] {title}"
|
||||||
# password: your_password
|
startup_check_address: michideheld@gmx.de
|
||||||
# sender: Authelia <authelia@kaleschke.info>
|
|
||||||
# subject: "[Authelia] {title}"
|
|
||||||
|
|
||||||
totp:
|
totp:
|
||||||
issuer: kaleschke.info
|
issuer: kaleschke.info
|
||||||
|
|||||||
@@ -9,12 +9,18 @@ services:
|
|||||||
AUTHELIA_SESSION_SECRET_FILE: /secrets/session_secret.txt
|
AUTHELIA_SESSION_SECRET_FILE: /secrets/session_secret.txt
|
||||||
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /secrets/storage_encryption_key.txt
|
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /secrets/storage_encryption_key.txt
|
||||||
AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: /secrets/postgres_password.txt
|
AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: /secrets/postgres_password.txt
|
||||||
|
AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: /secrets/smtp_password.txt
|
||||||
volumes:
|
volumes:
|
||||||
- /mnt/user/appdata/authelia/config:/config
|
- /mnt/user/appdata/authelia/config:/config
|
||||||
- /mnt/user/appdata/secrets/authelia_jwt_secret.txt:/secrets/jwt_secret.txt:ro
|
- /mnt/user/appdata/secrets/authelia_jwt_secret.txt:/secrets/jwt_secret.txt:ro
|
||||||
- /mnt/user/appdata/secrets/authelia_session_secret.txt:/secrets/session_secret.txt:ro
|
- /mnt/user/appdata/secrets/authelia_session_secret.txt:/secrets/session_secret.txt:ro
|
||||||
- /mnt/user/appdata/secrets/authelia_storage_encryption_key.txt:/secrets/storage_encryption_key.txt:ro
|
- /mnt/user/appdata/secrets/authelia_storage_encryption_key.txt:/secrets/storage_encryption_key.txt:ro
|
||||||
- /mnt/user/appdata/secrets/authelia_postgres_password.txt:/secrets/postgres_password.txt:ro
|
- /mnt/user/appdata/secrets/authelia_postgres_password.txt:/secrets/postgres_password.txt:ro
|
||||||
|
- /mnt/user/appdata/secrets/authelia_smtp_password.txt:/secrets/smtp_password.txt:ro
|
||||||
|
dns:
|
||||||
|
- 192.168.178.58
|
||||||
|
- 1.1.1.1
|
||||||
|
- 8.8.8.8
|
||||||
networks:
|
networks:
|
||||||
- frontend_net
|
- frontend_net
|
||||||
- backend_net
|
- backend_net
|
||||||
|
|||||||
Reference in New Issue
Block a user