services: db: image: superset-tools-postgres:0.6.2 pull_policy: never restart: unless-stopped security_opt: - seccomp=unconfined environment: POSTGRES_DB: ${POSTGRES_DB:-ss_tools} POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env} ports: - "${POSTGRES_HOST_PORT:-5432}:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-ss_tools}"] interval: 10s timeout: 5s retries: 10 backend: image: superset-tools-backend:0.6.2 pull_policy: never restart: unless-stopped depends_on: db: condition: service_healthy environment: DATABASE_URL: postgresql+psycopg2://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-ss_tools} TASKS_DATABASE_URL: postgresql+psycopg2://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-ss_tools} AUTH_DATABASE_URL: postgresql+psycopg2://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-ss_tools} BACKEND_PORT: 8000 AUTH_SECRET_KEY: ${AUTH_SECRET_KEY:?Set AUTH_SECRET_KEY in .env} ENCRYPTION_KEY: ${ENCRYPTION_KEY:?Set ENCRYPTION_KEY in .env} ENABLE_BELIEF_STATE_LOGGING: ${ENABLE_BELIEF_STATE_LOGGING:-true} TASK_LOG_LEVEL: ${TASK_LOG_LEVEL:-INFO} INITIAL_ADMIN_CREATE: ${INITIAL_ADMIN_CREATE:-false} INITIAL_ADMIN_USERNAME: ${INITIAL_ADMIN_USERNAME:-admin} INITIAL_ADMIN_PASSWORD: ${INITIAL_ADMIN_PASSWORD:-} INITIAL_ADMIN_EMAIL: ${INITIAL_ADMIN_EMAIL:-} OPENAI_API_KEY: ${OPENAI_API_KEY:-} ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} FEATURES__DATASET_REVIEW: ${FEATURES__DATASET_REVIEW:-true} FEATURES__HEALTH_MONITOR: ${FEATURES__HEALTH_MONITOR:-true} CERTS_PATH: /opt/certs ports: - "${BACKEND_HOST_PORT:-8001}:8000" volumes: - ./storage:/app/storage - ${CERTS_PATH:-./certs}:/opt/certs:ro frontend: image: superset-tools-frontend:0.6.2 pull_policy: never restart: unless-stopped depends_on: - backend - agent environment: SSL_KEY_PASSPHRASE: ${SSL_KEY_PASSPHRASE:-} ports: - "${FRONTEND_HOST_PORT:-8000}:80" - "${FRONTEND_SSL_PORT:-443}:443" volumes: - ${CERTS_PATH:-./certs}:/opt/certs:ro agent: image: superset-tools-agent:0.6.2 pull_policy: never restart: unless-stopped depends_on: db: condition: service_healthy backend: condition: service_started environment: LLM_API_KEY: ${LLM_API_KEY:-} LLM_BASE_URL: ${LLM_BASE_URL:-https://api.openai.com/v1} LLM_MODEL: ${LLM_MODEL:-gpt-4o} FASTAPI_URL: http://backend:8000 AUTH_SECRET_KEY: ${AUTH_SECRET_KEY:?Set AUTH_SECRET_KEY in .env} SERVICE_JWT: ${SERVICE_JWT:?Set SERVICE_JWT in .env} DATABASE_URL: postgresql+psycopg2://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-ss_tools} GRADIO_SERVER_PORT: 7860 GRADIO_ROOT_PATH: /api/agent/gradio ports: - "${AGENT_HOST_PORT:-7860}:7860" volumes: - ${CERTS_PATH:-./certs}:/opt/certs:ro volumes: postgres_data: