version: '3.8' services: # 1. OpticParse Python API opticparse-python: build: context: . dockerfile: Dockerfile ports: - "8000:8000" environment: - PORT=8000 - GROQ_API_KEY=${GROQ_API_KEY} - OPENROUTER_KEY=${OPENROUTER_KEY} - OPTICPARSE_API_KEY=${OPTICPARSE_API_KEY} - DATABASE_URL=${DATABASE_URL} - SUPABASE_URL=${SUPABASE_URL} - SUPABASE_SERVICE_KEY=${SUPABASE_SERVICE_KEY} - REDIS_URL=redis://opticparse-cache:6379 - CLOUDFLARE_AI_GATEWAY_ACCOUNT_ID=${CLOUDFLARE_AI_GATEWAY_ACCOUNT_ID} restart: always depends_on: - opticparse-cache # 2. PhishVision Node API opticparse-node: build: context: ./opticparse-js dockerfile: Dockerfile ports: - "3000:3000" environment: - PORT=3000 - NODE_ENV=production - GROQ_API_KEY=${GROQ_API_KEY} - OPENROUTER_KEY=${OPENROUTER_KEY} - REDIS_URL=redis://opticparse-cache:6379 - CLOUDFLARE_AI_GATEWAY_ACCOUNT_ID=${CLOUDFLARE_AI_GATEWAY_ACCOUNT_ID} restart: always depends_on: - opticparse-cache # 3. Redis Cache opticparse-cache: image: redis:alpine restart: always