Direkt zum Hauptinhalt

Installation

Im folgenden wird die Installation von Zitadel mit Docker Compose beschrieben.

Die Anleitung beruht auf der offiziellen Dokumentation von Zitadel: Zitadel Docker compose

version: '3.8'

services:
  zitadel:
    restart: 'unless-stopped'
    image: 'ghcr.io/zitadel/zitadel:latest'
    container_name: zitadel
    command: 'start-from-init --masterkey "MasterkeyNeedsToHave32Characters" --tlsMode disabled'
    environment:
      - 'ZITADEL_DATABASE_POSTGRES_HOST=zitadel-db'
      - 'ZITADEL_DATABASE_POSTGRES_PORT=5432'
      - 'ZITADEL_DATABASE_POSTGRES_DATABASE=zitadel'
      - 'ZITADEL_DATABASE_POSTGRES_USER_USERNAME=zitadel'
      - 'ZITADEL_DATABASE_POSTGRES_USER_PASSWORD=PasswortFuerZitadel'
      - 'ZITADEL_DATABASE_POSTGRES_USER_SSL_MODE=disable'
      - 'ZITADEL_DATABASE_POSTGRES_ADMIN_USERNAME=postgres'
      - 'ZITADEL_DATABASE_POSTGRES_ADMIN_PASSWORD=PasswortFuerDenPostgresChef'
      - 'ZITADEL_DATABASE_POSTGRES_ADMIN_SSL_MODE=disable'
      - 'ZITADEL_EXTERNALSECURE=false'
    depends_on:
      zitadel-db:
        condition: 'service_healthy'
    ports:
      - '8080:8080'

  zitadel-db:
    restart: 'unless-stopped'
    image: postgres:16-alpine
    container_name: zitadel-db
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=PasswortFuerDenPostgresChef
    volumes:
      - /pfad/zu/zitadel/data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready", "-d", "db_prod"]
      interval: '10s'
      timeout: '30s'
      retries: 5
      start_period: '20s'

Bitte die Passwörter ersetzen sowie den Pfad beim Volume von Postgres an die eigene Umgebung anpassen.

Diese Konfiguration ist nur für Tests geeignet, da SSL deaktiviert ist und somit die Verbindung nicht verschlüssel ist.

Um die Docker Compose Konfiguration auszuführen, kann am besten in das Verzeichnis der YAML Datei gewechselt werden. Danach wird je nach nach gewählter Installation sudo docker-compose up -d oder sudo docker compose up -d (keine Bindestrich zwischen docker und compose) eingegeben, um die Standard Konfiguration docker-compose.yml zu starten. Compose erstellt dann die gewünschten Container mit den angegeben Optionen. Sollten die Container bereits mit dieser Compose Konfiguration erstellt worden sein, so werden die Container in dieser neu erstellt, dessen Konfiguration geändert wurde.

Nachdem die Instanz gestartet wurde, ist diese unter http://localhost:8080/ui/console/ erreichbar.

Der Standard-Login ist wie folgt:
Benutzername: zitadel-admin@zitadel.localhost
Passwort:Password1!

Nach ein paar kleineren Einstellungen in einem geführten Dialog (Passwort ändern, 2FA hinzufügen) öffnet sich die Startseite, auf der unter anderem auch ein Onboarding Prozess angezeigt wird.

grafik.png