Keycloak einfach selbst hosten

Keycloak einfach selbst hosten

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
6 min

Keycloak ist eine Open-Source Identity und Access Management (IAM) Lösung von Red Hat. Du bekommst Single Sign-On (SSO), OAuth2, OpenID Connect, SAML und User Federation direkt out of the box. Viele Unternehmen nutzen managed Identity Provider wie Auth0 oder Okta, aber die Preise steigen schnell, sobald die Nutzerzahlen wachsen.

Sliplane ist eine managed Container-Plattform, die Self-Hosting einfach macht. Mit One-Click Deployment hast du Keycloak in Minuten am Laufen - kein Server-Setup, keine Reverse-Proxy-Config, keine Infrastruktur zum Warten.

Voraussetzungen

Vor dem Deployment brauchst du einen Sliplane Account (kostenlose Testphase verfügbar).

Schnellstart

Sliplane bietet One-Click Deployment mit Presets.

SliplaneKeycloak deployen >
  1. Klick auf den Deploy-Button oben
  2. Wähl ein Projekt aus
  3. Wähl einen Server aus (wenn du dich gerade angemeldet hast, bekommst du einen 48-Stunden-Testserver)
  4. Klick auf Deploy!

Über das Preset

Das One-Click Deploy oben nutzt Sliplane's Keycloak Preset. Das steckt drin:

  • Offizielles Keycloak Image von quay.io/keycloak/keycloak
  • Fester Version-Tag (26.6.2) für Stabilität
  • Persistenter Storage unter /opt/keycloak/data für Realm-Configs, User und Sessions
  • Vorkonfiguriert für den Betrieb hinter einem Reverse Proxy mit KC_PROXY_HEADERS=xforwarded
  • HTTP aktiviert (KC_HTTP_ENABLED=true), da Sliplane die SSL-Terminierung übernimmt
  • Health Endpoint aktiviert (KC_HEALTH_ENABLED=true) fürs Monitoring
  • Zufälliges Admin-Passwort wird automatisch generiert

Nächste Schritte

Sobald Keycloak auf Sliplane läuft, erreichst du es über die Domain, die Sliplane dir zugewiesen hat (z.B. keycloak-xxxx.sliplane.app).

Standard-Zugangsdaten

Das Preset generiert ein zufälliges Admin-Passwort. Du findest es in den Umgebungsvariablen deines Services im Sliplane Dashboard:

  • Benutzername: admin (aus KC_BOOTSTRAP_ADMIN_USERNAME)
  • Passwort: check KC_BOOTSTRAP_ADMIN_PASSWORD in deinen Service-Einstellungen

Log dich unter https://deine-domain/admin ein, um die Admin-Konsole zu öffnen.

Deinen ersten Realm erstellen

Keycloak nutzt Realms um User, Credentials, Rollen und Gruppen zu verwalten. Der Standard-Realm master ist nur für Admin-Zwecke gedacht. Erstell einen neuen Realm für deine App:

  1. Log dich in die Admin-Konsole ein
  2. Klick auf das Dropdown oben links (da steht "master")
  3. Klick auf Create realm
  4. Gib ihm einen Namen und klick auf Create

Wichtige Umgebungsvariablen

Du kannst deine Keycloak-Instanz anpassen, indem du Umgebungsvariablen im Sliplane Dashboard hinzufügst:

VariableBeschreibung
KC_BOOTSTRAP_ADMIN_USERNAMEAdmin-Benutzername (Standard: admin)
KC_BOOTSTRAP_ADMIN_PASSWORDAdmin-Passwort (automatisch generiert)
KC_HOSTNAMEÖffentlicher Hostname (automatisch auf deine Sliplane-Domain gesetzt)
KC_PROXY_HEADERSProxy-Header-Modus (Standard: xforwarded)
KC_LOG_LEVELLog-Level: info, debug, warn, error
KC_FEATURESPreview-Features aktivieren (z.B. docker,token-exchange)

Die Keycloak Server Configuration Docs enthalten die komplette Liste aller Optionen.

Logging

Keycloak loggt standardmäßig nach STDOUT, was perfekt mit Sliplane's integriertem Log-Viewer funktioniert. Wenn du mehr Details zum Debuggen brauchst, setz KC_LOG_LEVEL auf debug. Für Produktion ist info oder warn empfohlen.

Troubleshooting

Wenn Keycloak beim Start etwas länger braucht, ist das normal - die eingebettete Datenbank muss beim ersten Start initialisiert werden. Gib ihm ein bis zwei Minuten. Wenn der Service unhealthy bleibt, prüf die Logs im Sliplane Dashboard. Häufige Probleme:

  • Redirect-Loops: Achte drauf, dass KC_HOSTNAME zu deiner tatsächlichen Domain passt (das Preset setzt das automatisch)
  • Admin-Konsole nicht erreichbar: Prüf, ob KC_BOOTSTRAP_ADMIN_USERNAME und KC_BOOTSTRAP_ADMIN_PASSWORD korrekt gesetzt sind

Kostenvergleich

Du kannst Keycloak auch bei anderen Cloud-Anbietern selbst hosten. Hier ein Preisvergleich der gängigsten Anbieter:

AnbietervCPURAMDiskMonatliche KostenHinweis
Sliplane22 GB40 GB9 € (~$10.65)Flatrate, 1 TB Bandwidth, SSL inklusive
Fly.io22 GB40 GB~$18Disk und Bandwidth separat berechnet
Render12 GB40 GB~$35100 GB Bandwidth, Disk separat berechnet
Railway22 GB40 GB~$67 + $20 PlanPro Plan Minimum, nutzungsbasiert, Bandwidth separat
Klick hier um zu sehen, wie diese Zahlen berechnet wurden.

(Angenommen eine durchgehend laufende Instanz mit 730 Stunden/Monat)

  • Sliplane: Flat 9 €/Monat für den Base Server. Unbegrenzte Services auf dem gleichen Server, 1 TB Egress und SSL inklusive.
  • Fly.io: shared-cpu-2x 2 GB = $11.83/Mo + 40 GB Volume × $0.15/GB = $6 -> ~$17.83/Mo. Egress separat berechnet ($0.02/GB in der EU).
  • Render: Nächste Option ist Standard ($25, 1 vCPU / 2 GB) plus 40 GB Disk × $0.25/GB = $10 -> ~$35/Mo. Ein Upgrade auf Pro (2 vCPU / 4 GB) kostet $85/Mo + Disk.
  • Railway (Pro Plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; Volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/Mo Compute, plus $20/Mo Pro Plan Minimum und $0.05/GB Egress.

Bandwidth-Kosten können bei nutzungsbasierten Anbietern schnell steigen. Nutz unser Bandwidth-Kostenvergleichs-Tool um zu sehen, was dein Egress bei den verschiedenen Plattformen kosten würde.

FAQ

Wofür kann ich Keycloak nutzen?

Keycloak kümmert sich um Authentifizierung und Autorisierung für deine Apps. Typische Anwendungsfälle sind SSO über mehrere Anwendungen, Social Login (Google, GitHub, etc.), User-Registrierung und -Verwaltung, Zwei-Faktor-Authentifizierung und LDAP/Active Directory Integration. Es unterstützt OAuth2, OpenID Connect und SAML.

Wie verbinde ich meine App mit Keycloak?

Erstell einen neuen Client in der Admin-Konsole deines Realms. Setz das Client-Protokoll (meistens OpenID Connect), konfiguriere die gültigen Redirect-URIs auf deine App und verwende Client-ID und Secret in der Auth-Library deiner Anwendung. Keycloak bietet Adapter-Libraries für Java, JavaScript, Node.js und viele andere Frameworks.

Wie update ich Keycloak?

Ändere den Image-Tag in deinen Service-Einstellungen im Sliplane Dashboard und deploye neu. Prüf die Keycloak Downloads-Seite für die neueste stabile Version. Schau dir immer die Release Notes an, bevor du upgradest, da Major-Versionen Breaking Changes enthalten können.

Kann ich eine externe Datenbank mit Keycloak nutzen?

Ja. Standardmäßig nutzt das Preset Keycloaks eingebettete H2-Datenbank, die für kleine bis mittlere Setups ausreicht. Für Produktions-Workloads mit vielen Usern kannst du eine externe PostgreSQL- oder MySQL-Datenbank anbinden, indem du die Umgebungsvariablen KC_DB, KC_DB_URL, KC_DB_USERNAME und KC_DB_PASSWORD setzt. Du kannst eine PostgreSQL-Instanz auf Sliplane auf dem gleichen Server deployen und intern verbinden.

Unterstützt Keycloak Multi-Faktor-Authentifizierung?

Ja. Keycloak hat eingebaute Unterstützung für TOTP (Time-based One-Time Password) mit Apps wie Google Authenticator oder Authy. Du kannst MFA pro Realm oder pro User unter Authentication > Flows in der Admin-Konsole aktivieren. WebAuthn (Passkeys, Security Keys) wird ebenfalls unterstützt.

Keycloak jetzt selbst hosten - ganz einfach!

Sliplane gibt dir alles, was du brauchst, um Keycloak ohne Server-Stress zu betreiben.