services: app: build: context: .. dockerfile: backend/Dockerfile container_name: ai-synth-test restart: "no" environment: DATABASE_URL: postgres://ai_synth_test:testpassword@db:5432/ai_synth_test MASTER_ENCRYPTION_KEY: "0000000000000000000000000000000000000000000000000000000000000001" APP_URL: http://localhost:8080 PORT: "8080" RUST_LOG: "info,ai_synth_backend=debug" RESEND_API_KEY: "re_test_bypass_no_send" EMAIL_FROM: "AI Weekly Synth " TURNSTILE_SECRET_KEY: "test-turnstile-secret-always-pass" TURNSTILE_SITE_KEY: "1x00000000000000000000AA" STATIC_DIR: "./static" depends_on: db: condition: service_healthy networks: - test-net ports: - "8080:8080" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/v1/health"] interval: 10s timeout: 5s start_period: 30s retries: 5 db: image: postgres:17-alpine container_name: ai-synth-test-db restart: "no" environment: POSTGRES_USER: ai_synth_test POSTGRES_PASSWORD: testpassword POSTGRES_DB: ai_synth_test networks: - test-net ports: - "5433:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ai_synth_test -d ai_synth_test"] interval: 5s timeout: 3s start_period: 5s retries: 5 shm_size: 128mb networks: test-net: driver: bridge