version: '3.9' services: hanko-migrate: build: ../../backend volumes: - type: bind source: ./config.yaml target: /etc/config/config.yaml command: --config /etc/config/config.yaml migrate up restart: on-failure depends_on: postgresd: condition: service_healthy networks: - intranet hanko: depends_on: hanko-migrate: condition: service_completed_successfully build: context: ../../backend dockerfile: Dockerfile.debug security_opt: - "apparmor=unconfined" cap_add: - SYS_PTRACE ports: - '8000:8000' # public - '8001:8001' # admin - '40000:40000' # debug restart: unless-stopped command: serve --config /etc/config/config.yaml all volumes: - type: bind source: ./config.yaml target: /etc/config/config.yaml networks: - intranet environment: - PASSWORD_ENABLED postgresd: image: postgres:12-alpine ports: - "5432:5432" environment: - POSTGRES_USER=hanko - POSTGRES_PASSWORD=hanko - POSTGRES_DB=hanko healthcheck: test: pg_isready -U hanko -d hanko interval: 10s timeout: 10s retries: 3 start_period: 30s networks: - intranet elements: build: context: ../../frontend dockerfile: Dockerfile.debug ports: - "9500:80" networks: - intranet quickstart: build: ../../quickstart ports: - "8888:8080" environment: - HANKO_URL=http://localhost:8000 - HANKO_URL_INTERNAL=http://hanko:8000 - HANKO_ELEMENT_URL=http://localhost:9500/elements.js - HANKO_FRONTEND_SDK_URL=http://localhost:9500/sdk.umd.js networks: - intranet mailslurper: image: marcopas/docker-mailslurper:latest ports: - '8080:8080' # web UI - '8085:8085' networks: - intranet networks: intranet: