Authentik in Docker einrichten und betreiben - Die komplette Schritt-für-Schritt-Anleitung für SSO
Was ist Authentik und warum solltest du es nutzen?
Authentik ist ein Open-Source Identity Provider und Access Management System, das sich nahtlos in Docker-Umgebungen integrieren lässt. Mit Authentik kannst du zentralisiertes Single Sign-On (SSO) für all deine Self-Hosted-Anwendungen einrichten.
Statt dich bei jedem Service neu anzumelden, authentifizierst du dich einmal bei Authentik und erhältst Zugriff auf alle verbundenen Anwendungen. Das spart Zeit, erhöht die Sicherheit und vereinfacht das Nutzermanagement erheblich.
Voraussetzungen für die Installation
Bevor wir mit der Einrichtung beginnen, stelle sicher, dass folgende Komponenten bereitstehen:
- Ein Server mit Docker und Docker Compose installiert
- Mindestens 2 GB RAM (empfohlen: 4 GB)
- Eine Domain oder Subdomain für Authentik
- Ein Reverse Proxy wie Traefik oder Nginx Proxy Manager
- Grundlegende Kenntnisse in Docker und YAML
Schritt 1: Erstelle die Verzeichnisstruktur
Erstelle zunächst ein dediziertes Verzeichnis für Authentik:
1 | mkdir -p ~/authentik/{certs,media,custom-templates} |
Diese Struktur trennt Datenbank, Medien und Konfiguration übersichtlich voneinander.
Schritt 2: Die docker-compose.yml erstellen
Erstelle eine Datei namens docker-compose.yml mit folgendem Inhalt:
1 | version: "3.4" |
Schritt 3: Umgebungsvariablen konfigurieren
Erstelle eine .env Datei im selben Verzeichnis:
1 | # PostgreSQL Konfiguration |
Verwende für das Passwort einen sicheren Generator:
1 | openssl rand -base64 36 |
Schritt 4: Container starten
Starte die Container mit folgendem Befehl:
1 | docker compose up -d |
Überprüfe den Status:
1 | docker compose logs -f |
Warte bis die Datenbank initialisiert ist und der Server bereit ist.
Schritt 5: Ersteinrichtung durchführen
Rufe deine konfigurierte Domain im Browser auf, zum Beispiel:https://auth.deinedomain.de
Beim ersten Start erscheint der Setup-Assistent:
- Admin-Benutzer anlegen: Username, E-Mail-Adresse und Passwort festlegen
- Verifizierung: Prüfe ob die Domain korrekt erreichbar ist
- Sicherheitseinstellungen: Optional kannst du Zwei-Faktor-Authentifizierung aktivieren
Schritt 6: Anwendungen einbinden
Beispiel: Portainer über OAuth2 verbinden
Gehe in Authentik zu Applications → Providers
Klicke auf Create und wähle OAuth2/OIDC Provider
Konfiguriere folgende Werte:
- Name: portainer
- Authorization Flow: default-provider-authorization-implicit-consent
- Client Type: Public
- Redirect URIs:
https://portainer.deinedomain.de
Erstelle eine neue Application unter Applications → Applications
- Wähle den eben erstellten Provider
- Vergebe einen Anzeigenamen
In Portainer unter Settings → Authentication:
- Authentication method: OAuth
- Provider: Custom
- Client ID: (aus Authentik kopieren)
- Client Secret: (aus Authentik kopieren)
- Authorization URL:
https://auth.deinedomain.de/application/o/authorize/ - Token URL:
https://auth.deinedomain.de/application/o/token/ - User info URL:
https://auth.deinedomain.de/application/o/userinfo/
Schritt 7: Benutzer und Gruppen verwalten
Die Stärke von Authentik zeigt sich bei der Benutzerverwaltung:
- Verzeichnis synchronisieren: Verbinde LDAP, Active Directory oder externe Provider
- Gruppen erstellen: Organisiere Benutzer nach Berechtigungen (z.B. admins, users, readonly)
- Richtlinien definieren: Erstelle Zugriffsrichtlinien basierend auf Gruppen oder Attributen
Schritt 8: Backup und Wartung
Automatisches Backup einrichten
Erstelle ein Backup-Skript backup.sh:
1 |
|
Updates durchführen
Aktualisiere regelmäßig auf neue Versionen:
1 | cd ~/authentik |
Sicherheitstipps
- Aktiviere immer HTTPS mit gültigem Zertifikat
- Verwende starke Passwörter und Zwei-Faktor-Authentifizierung
- Beschränke den Zugriff auf die Authentik-Admin-Oberfläche
- Aktiviere Logging und Überwachung
- Führe regelmäßig Sicherheitskopien durch
Fazit
Mit Authentik hast du eine professionelle SSO-Lösung in deiner Docker-Umgebung installiert. Die zentrale Authentifizierung vereinfacht nicht nur den Login-Prozess für Benutzer, sondern erhöht auch die Sicherheit durch konsistente Authentifizierungsstandards über alle Anwendungen hinweg.
Die Initialkonfiguration erfordert etwas Zeit, aber der Aufwand zahlt sich durch vereinfachte Nutzerverwaltung und verbesserte Sicherheit vielfach aus.
Nächste Schritte:
- Implementiere regelmäßige Backups
- Dokumentiere alle verbundenen Anwendungen
- Erstelle einen Überwachungs-Alert für den SSO-Service