services: zitadel: user: '$UID' restart: 'always' image: '${ZITADEL_IMAGE:-ghcr.io/zitadel/zitadel:latest}' build: context: ../../.. dockerfile: ./build/zitadel/Dockerfile target: artifact cache_from: - type=gha cache_to: - type=gha,mode=max command: 'start-from-init --masterkey "MasterkeyNeedsToHave32Characters" --tlsMode disabled --config /zitadel.yaml --steps /zitadel.yaml' depends_on: db: condition: 'service_healthy' volumes: - ./zitadel.yaml:/zitadel.yaml ports: - "8080:8080" healthcheck: test: [ "CMD", "/app/zitadel", "ready", "--config", "/zitadel.yaml" ] interval: '10s' timeout: '5s' retries: 5 start_period: '10s' extra_hosts: - "host.docker.internal:host-gateway" db: restart: 'always' image: 'postgres:17-alpine' environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres healthcheck: test: [ "CMD-SHELL", "pg_isready", "-d", "zitadel", "-U", "postgres" ] interval: '10s' timeout: '30s' retries: 5 start_period: '20s' ports: - "5432:5432"