Stand: 07.10.2026

Authelia Docker Compose richtet eine zentrale Anmeldung vor deinen selbst gehosteten Diensten ein. Du betreibst Authelia als Container, legst Konfiguration und Geheimnisse persistent ab und bindest den Dienst über Traefik ForwardAuth ein. Wichtig: Für echte Nutzung verlangt Authelia HTTPS, eine sauber konfigurierte Sitzung und ein bewusstes Zugriffskonzept.

Auf einen Blick

  • Authelia ist ein Authentifizierungs- und Autorisierungsportal für eigene Dienste.
  • Docker Compose bindet Konfiguration unter /config und Geheimnisse getrennt ein.
  • Traefik fragt Authelia über den dokumentierten ForwardAuth-Endpunkt ab.
  • Für Tests eignen sich SQLite und Datei-Benachrichtigungen; für produktive Installationen empfiehlt die Dokumentation PostgreSQL, Redis und SMTP.
  • Alle geschützten Anwendungen brauchen HTTPS, weil die Anmeldung mit Cookies arbeitet.

Was ist Authelia und wann lohnt sich die Einrichtung?

Authelia ist ein Open-Source-Dienst für Anmeldung und Zugriffskontrolle vor Webanwendungen. Er passt deshalb gut zu einem Homelab mit mehreren Diensten hinter einem Reverse Proxy: Statt jeden Dienst einzeln mit einer zusätzlichen Login-Schicht zu versehen, prüft Traefik die Sitzung über Authelia.

Die offizielle Einstiegshilfe von Authelia beschreibt zwei verbreitete Wege: Forwarded Authentication für vorgeschaltete Proxys und OpenID Connect für Anwendungen, die diesen Standard direkt beherrschen. Dieser Artikel behandelt den ersten Weg mit Traefik. Er ergänzt die vorhandene Anleitung, wie du Traefik im Homelab mit Docker Compose einrichtest.

Welche Voraussetzungen braucht Authelia Docker Compose?

Du brauchst einen laufenden Docker-Compose-Host, einen DNS-Namen für das Anmeldeportal und einen Reverse Proxy, der den Container erreichen kann. Außerdem müssen Authelia selbst und alle per ForwardAuth geschützten Anwendungen über HTTPS beziehungsweise WSS erreichbar sein. Das ist laut der Authelia-Dokumentation keine optionale Empfehlung, sondern eine Voraussetzung, weil der Ablauf auf einer Session-Cookie beruht.

Plane außerdem drei getrennte Bereiche: Konfiguration, Geheimnisse und Daten. Das verhindert, dass ein Container-Neustart Konfigurationsdateien löscht. Lies vor dem Start auch die Grundlagen zu Docker Compose; besonders Netzwerke und Bind Mounts solltest du verstehen.

So legst du die Compose-Datei an

Die folgende schlanke Struktur folgt dem offiziellen Standalone-Beispiel. Sie verbindet Authelia mit einem vorhandenen externen Docker-Netzwerk namens proxy. Ersetze Pfade und Netzwerknamen nur passend zu deiner Umgebung.

services:
authelia:
image: docker.io/authelia/authelia:latest
container_name: authelia
restart: unless-stopped
networks:
proxy: {}
volumes:
- ./config:/config
- ./secrets:/secrets
environment:
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE: /secrets/JWT_SECRET
AUTHELIA_SESSION_SECRET_FILE: /secrets/SESSION_SECRET
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /secrets/STORAGE_ENCRYPTION_KEY
networks:
proxy:
external: true

Die Docker-Dokumentation von Authelia zeigt diese Dateivariablen ausdrücklich für Geheimnisse. Im vollständigen Standalone-Beispiel kommt bei PostgreSQL zusätzlich STORAGE_PASSWORD hinzu. Lege Geheimnisse nie in einem Git-Repository ab und übergib sie nicht als Klartext in Labels.

Das Beispiel pinnt absichtlich keine Versionsnummer. Für einen reproduzierbaren Betrieb solltest du nach einem kontrollierten Update einen konkreten, dokumentierten Image-Tag statt latest verwenden. Prüfe vorher Release Notes und sichere config sowie die Datenbank. Das ergänzt die allgemeinen Docker-Sicherheitstipps.

Welche Konfiguration ist zum Start erforderlich?

Authelia wird nicht über eine Weboberfläche eingerichtet, sondern über eine statische Konfigurationsdatei. Beim ersten Start kann es eine zum Image passende Vorlage schreiben; die Dokumentation nennt jedoch mehrere Bereiche als unverzichtbar: Identitäts-Backend, Speicher, Sitzung, Benachrichtigungen und Zugriffskontrolle.

Für einen kleinen Test ist ein Datei-Backend für Nutzer möglich. Die offizielle Referenz erwartet dafür einen Pfad wie /config/users.yml und verwendet standardmäßig Argon2 für neue Passwort-Hashes. Für echte Umgebungen solltest du die Konfiguration nicht aus einem Beispiel blind übernehmen: Authelia empfiehlt für produktive Speicher PostgreSQL und für produktive Sitzungen Redis.

authentication_backend:
file:
path: /config/users.yml

access_control:
default_policy: deny
rules:
- domain: '*.example.net'
policy: one_factor

session:
cookies:
- domain: example.net
authelia_url: https://auth.example.net
default_redirection_url: https://start.example.net

Die default_policy: deny sorgt dafür, dass nicht versehentlich eine neue Subdomain ohne Regel offen bleibt. Danach erlaubst du nur Domains, die du wirklich schützen willst. Passe die Beispiel-Domain vollständig an deine Domain an. Für die Datei-Benachrichtigung weist Authelia darauf hin, dass sie nur zum Testen gedacht ist; für den Produktivbetrieb ist ein SMTP-Notifier vorgesehen.

Wie verbindet Traefik Authelia per ForwardAuth?

Traefik ruft bei jeder geschützten Anfrage einen Authentifizierungs-Endpunkt von Authelia auf. Die aktuelle offizielle Traefik-Integration verwendet dafür /api/authz/forward-auth. Das Middleware-Label gehört entweder zu Authelia oder zu Traefik; bei getrennten Compose-Stacks kann die Definition auf Traefik den Fehler middleware authelia@docker not found vermeiden.

labels:
traefik.enable: 'true'
traefik.http.routers.authelia.rule: 'Host(`auth.example.net`)'
traefik.http.routers.authelia.entryPoints: 'https'
traefik.http.routers.authelia.tls: 'true'
traefik.http.middlewares.authelia.forwardAuth.address: 'http://authelia:9091/api/authz/forward-auth'
traefik.http.middlewares.authelia.forwardAuth.trustForwardHeader: 'true'
traefik.http.middlewares.authelia.forwardAuth.authResponseHeaders: 'Remote-User,Remote-Groups,Remote-Email,Remote-Name'

Ein geschützter Dienst referenziert anschließend die Middleware mit traefik.http.routers.mein-dienst.middlewares: authelia@docker. Die offizielle Traefik-Anleitung von Authelia verlangt außerdem die passende Session-Cookie-Konfiguration. Richte deshalb zuerst das Portal unter auth.example.net ein und schütze erst danach weitere Dienste wie Nextcloud.

Welche Sicherheitsdetails werden oft übersehen?

Vertraue weitergeleiteten Headern nur von Proxys, die du tatsächlich kontrollierst. Authelia warnt ausdrücklich davor, ganze Netze als vertrauenswürdig einzutragen, wenn dort auch andere Dienste laufen. Traefik entfernt standardmäßig nicht vertrauenswürdige weitergeleitete Header; behalte diese sichere Voreinstellung bei und ergänze nur konkrete, erforderliche Proxy-Adressen.

Außerdem braucht jeder Nutzer einen sicheren Passwort-Hash. Das Datei-Backend unterstützt mehrere Algorithmen; die Referenz empfiehlt für Argon2 die Variante argon2id. Aktiviere nach dem Grundaufbau einen zweiten Faktor und prüfe die Zugriffspolitik pro Dienst. Wenn dein NAS oder Proxy von außen erreichbar ist, helfen auch die Hinweise aus NAS richtig absichern.

Typische Fehler bei Authelia Docker Compose

ProblemWahrscheinliche UrsacheLösung
Login-SchleifeCookie-Domain, Portal-URL oder HTTPS passt nicht.Prüfe die Werte unter session.cookies und die Zertifikate aller beteiligten Hosts.
Middleware nicht gefundenTraefik und Authelia laufen in getrennten Stacks.Starte Authelia vor Traefik oder definiere die Middleware auf dem Traefik-Container.
Container startet nicht sinnvollKonfiguration oder Geheimnisse fehlen.Kontrolliere Mount-Pfade und starte für die Analyse wie in der Docker-Dokumentation interaktiv.
Passwort-Reset kommt nicht anDatei-Notifier wird außerhalb eines Tests genutzt.Konfiguriere für den Produktivbetrieb einen SMTP-Notifier.

Fazit

Authelia Docker Compose ist ein sinnvoller Baustein, wenn mehrere Homelab-Dienste dieselbe Login-Schicht brauchen. Beginne mit einem klar abgegrenzten Testdienst, HTTPS und einer restriktiven Zugriffsregel. Danach kannst du ForwardAuth schrittweise auf weitere Anwendungen ausrollen.

Quellen

Häufige Fragen

Was ist Authelia?

Authelia ist ein Dienst für Anmeldung und Zugriffskontrolle vor Webanwendungen. Mit einem Reverse Proxy wie Traefik kann es mehrere selbst gehostete Dienste über eine zentrale Anmeldung schützen.

Kann ich Authelia mit Docker Compose betreiben?

Ja. Die offizielle Dokumentation enthält Compose-Beispiele mit persistentem Konfigurationsverzeichnis und getrennten Geheimnissen. Für einen produktiven Speicher sieht das Standalone-Beispiel PostgreSQL vor.

Wie verbinde ich Authelia mit Traefik?

Traefik nutzt eine ForwardAuth-Middleware, die den Endpunkt /api/authz/forward-auth von Authelia aufruft. Der geschützte Router verweist anschließend auf diese Middleware.

Braucht Authelia HTTPS?

Ja. Die Authelia-Dokumentation verlangt HTTPS für das Portal und für alle per Forwarded Authentication geschützten Anwendungen, da dabei sichere Session-Cookies verwendet werden.

Ist der Datei-Notifier von Authelia für Produktivbetrieb geeignet?

Nein. Laut offizieller Dokumentation ist der Datei-Notifier für Tests gedacht. Für Produktivbetrieb solltest du einen SMTP-Notifier konfigurieren.