Zum Inhalt

Mailservice und Postfix

Stand: 2026-05-20

Ziel

Open WebUI, Gitea und Docmost sollen bei Bedarf E-Mails senden können:

  • Benutzerregistrierung
  • Passwort-Reset
  • Einladungen
  • Benachrichtigungen

Aktueller Befund

Im alten Lanstyle-Projektordner wurden keine produktiven Postfix-Konfigurationsdateien gefunden.

Gefunden wurden:

  • Hinweise auf den Lanstyle Hub mit Benutzer-/SSO-/SCIM-Funktionen
  • alte VM-Screenshots mit postfix im Dateinamen
  • keine direkt nutzbare main.cf, master.cf, Relayhost- oder SMTP-Credential-Datei

Der alte externe Mailserver aus dem früheren Lanstyle-Projekt existiert nicht mehr und wird nicht weiter als Mail-Relay betrachtet.

Aktiver interner SMTP-Relay:

  • Host/IP: 10.0.0.3
  • Port: 25
  • Nutzung: interne Dienste ohne dokumentierte SMTP-Secrets

Keine Secrets im Wiki

Nicht dokumentieren:

  • SMTP-Passwörter
  • Relay-Credentials
  • API-Keys
  • private SSH Keys
  • App-Passwörter
  • Hashes aus alten Backups

Empfohlene Architektur

Variante A, bevorzugt:

  • zentraler interner Postfix-Relay
  • Dienste senden nur an diesen Relay
  • Relay sendet über den eigentlichen Mailprovider
  • Firewall/ACL: Relay nur aus internen Netzen erreichbar

Variante B:

  • jeder Dienst nutzt direkt SMTP des Mailproviders
  • weniger zentral, mehr Secret-Verteilung

Empfehlung für Lanstyle:

  • Postfix-Relay zentral betreiben
  • Zugriff nur aus 10.0.0.0/20 und den benötigten Service-IP-Adressen erlauben
  • SMTP-Credentials nur auf dem Relay speichern
  • Open WebUI, Gitea und Docmost nutzen den Relay ohne eigene externen Provider-Credentials

Services, die SMTP brauchen können

Dienst IP Zweck Status
Open WebUI 10.0.0.250 Registrierung, Passwort-Reset, Benachrichtigungen noch nicht hinterlegt
Gitea 10.0.1.251 Passwort-Reset, Notifications, Repo-Aktivität aktiv über 10.222.40.25:25
Docmost 10.0.1.252 Einladungen, Benachrichtigungen noch nicht hinterlegt

Gitea Mailer

Konfigurationsdatei:

/etc/gitea/app.ini

Beispiel ohne Secrets:

[mailer]
ENABLED = true
PROTOCOL = smtp
SMTP_ADDR = 10.0.0.3
SMTP_PORT = 25
FROM = "Lanstyle Gitea" <git@lanstyle.de>
USER =
PASSWD =

Wenn der Relay Authentication verlangt, USER und PASSWD nicht im Wiki speichern.

Nach Änderung:

systemctl restart gitea
systemctl status gitea --no-pager -l

Aktiver Stand:

  • Gitea Mailer ist aktiviert.
  • SMTP-Relay: 10.222.40.25:25
  • Es sind keine SMTP-Passwörter in Gitea hinterlegt.

Open WebUI Mail

Open WebUI sollte erst nach bestätigtem Relay konfiguriert werden.

Zu dokumentierende Werte:

  • SMTP Host
  • SMTP Port
  • From-Adresse
  • TLS/StartTLS
  • ob Auth erforderlich ist

Passwörter nur in der Service-Env speichern, nicht im Git oder Wiki.

Docmost Mail

Docmost nutzt Environment-Variablen in:

/opt/docmost/.env

Vor Änderung:

cp -a /opt/docmost/.env /root/config-backups/docmost.env.bak-$(date +%Y%m%d-%H%M%S)-before-mail

Beispiel ohne Secrets:

SMTP_HOST=<postfix-relay-host>
SMTP_PORT=25
SMTP_SECURE=false
MAIL_FROM_ADDRESS=wiki@lanstyle.de
MAIL_FROM_NAME=Lanstyle Wiki

Die exakten Docmost-Variablennamen müssen vor Aktivierung mit der installierten Version gegengeprüft werden.

Verifikationsplan

  1. Postfix-Status auf dem internen Relay 10.0.0.3 prüfen:
systemctl is-active postfix
postconf -n
ss -ltnp | egrep ':25|:587|:465'
  1. Relay-Zugriff aus den LXC-IPs testen.
  2. Testmail pro Dienst senden.
  3. Logs prüfen:
journalctl -u postfix --no-pager -n 100

Offene Entscheidung

  • Welche From-Adressen sollen verwendet werden?
  • Sollen Dienste ohne Auth an den internen Relay senden dürfen, begrenzt durch IP/Firewall?
  • Wird SPF/DKIM/DMARC über den externen Mailprovider oder lokal gepflegt?