services: postgres: image: pgvector/pgvector:pg17 environment: POSTGRES_USER: creel POSTGRES_PASSWORD: creel POSTGRES_DB: creel ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U creel"] interval: 5s timeout: 5s retries: 5 migrate: build: context: . dockerfile: deploy/docker/Dockerfile depends_on: postgres: condition: service_healthy environment: CREEL_POSTGRES_HOST: postgres command: ["--config", "/etc/creel/creel.yaml", "--migrate"] volumes: - ./creel.example.yaml:/etc/creel/creel.yaml:ro - ./migrations:/app/migrations:ro creel: build: context: . dockerfile: deploy/docker/Dockerfile depends_on: migrate: condition: service_completed_successfully ports: - "8443:8443" - "8080:8080" - "9090:9090" environment: CREEL_POSTGRES_HOST: postgres command: ["--config", "/etc/creel/creel.yaml"] volumes: - ./creel.example.yaml:/etc/creel/creel.yaml:ro dashboard: build: context: ./dashboard dockerfile: Dockerfile depends_on: creel: condition: service_started ports: - "3000:3000" environment: APP_KEY: "${DASHBOARD_APP_KEY:-base64:/j6qi/xmMWjEzF38TsrTq/MfQzZLgmf+RCBlDja4pkc=}" CREEL_REST_ENDPOINT: "http://creel:8080" CREEL_API_KEY: "${CREEL_API_KEY:-creel_ak_0000000000000000000000000000000000000000000000000000000000000000}" CREEL_DASHBOARD_USERNAME: "${CREEL_DASHBOARD_USERNAME:-admin}" CREEL_DASHBOARD_PASSWORD: "${CREEL_DASHBOARD_PASSWORD:-admin}" SESSION_DRIVER: cookie APP_ENV: local APP_DEBUG: "true" LOG_CHANNEL: stderr volumes: pgdata: