services: postgres: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: ${DB_NAME:-campaign} POSTGRES_USER: ${DB_USER:-postgres} POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres} ports: - "${POSTGRES_PUBLIC_PORT:-5432}:5432" volumes: - maskanx_postgres:/var/lib/postgresql/data healthcheck: test: [ "CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-campaign}", ] interval: 5s timeout: 5s retries: 20 api: build: context: . args: MASKANX_VARIANT: ${MASKANX_VARIANT:-core} MASKANX_PRELOAD_EMBEDDINGS: ${MASKANX_PRELOAD_EMBEDDINGS:-0} restart: unless-stopped depends_on: postgres: condition: service_healthy ports: - "${MASKANX_PORT:-8088}:8088" volumes: - maskanx_working:/app/working - maskanx_secrets:/app/working.secret environment: MASKANX_STORAGE_BACKEND: postgres MASKANX_PORT: 8088 MASKANX_CORS_ORIGINS: ${MASKANX_CORS_ORIGINS:-http://127.0.0.1:5173,http://localhost:5173} DB_HOST: postgres DB_PORT: 5432 DB_NAME: ${DB_NAME:-campaign} DB_USER: ${DB_USER:-postgres} DB_PASSWORD: ${DB_PASSWORD:-postgres} DB_SSLMODE: disable LOG_LEVEL: ${LOG_LEVEL:-INFO} volumes: maskanx_postgres: maskanx_working: maskanx_secrets: