version: "3.8" services: api: build: . ports: - "8000:8000" volumes: - ./:/app - ~/.tracecat:/home/apiuser/.tracecat environment: API_MODULE: "tracecat.api.app:app" TRACECAT__SIGNING_SECRET: ${TRACECAT__SIGNING_SECRET} TRACECAT__SERVICE_KEY: ${TRACECAT__SERVICE_KEY} TRACECAT__DB_ENCRYPTION_KEY: ${TRACECAT__DB_ENCRYPTION_KEY} TRACECAT__DB_URI: ${TRACECAT__DB_URI} TRACECAT__RUNNER_URL: ${TRACECAT__RUNNER_URL} SUPABASE_JWT_SECRET: ${SUPABASE_JWT_SECRET} SUPABASE_JWT_ALGORITHM: ${SUPABASE_JWT_ALGORITHM} SUPABASE_PSQL_URL: ${SUPABASE_PSQL_URL} OPENAI_API_KEY: ${OPENAI_API_KEY} LOG_LEVEL: ${LOG_LEVEL} container_name: api restart: unless-stopped depends_on: - nginx networks: - nginx-network runner: build: . ports: - "8001:8000" volumes: - ./:/app - ~/.tracecat:/home/apiuser/.tracecat environment: API_MODULE: "tracecat.runner.app:app" TRACECAT__SIGNING_SECRET: ${TRACECAT__SIGNING_SECRET} TRACECAT__SERVICE_KEY: ${TRACECAT__SERVICE_KEY} TRACECAT__DB_ENCRYPTION_KEY: ${TRACECAT__DB_ENCRYPTION_KEY} TRACECAT__DB_URI: ${TRACECAT__DB_URI} TRACECAT__RUNNER_URL: ${TRACECAT__RUNNER_URL} OPENAI_API_KEY: ${OPENAI_API_KEY} SUPABASE_PSQL_URL: ${SUPABASE_PSQL_URL} LOG_LEVEL: ${LOG_LEVEL} container_name: runner restart: unless-stopped depends_on: - nginx networks: - nginx-network nginx: image: nginx:mainline-bookworm container_name: nginx restart: unless-stopped ports: - "80:80" volumes: - ./nginx:/etc/nginx/conf.d networks: - nginx-network networks: nginx-network: