version: '3.9' services: backend: build: context: . dockerfile: Dockerfile.backend container_name: iqai-backend restart: unless-stopped environment: - REPLICATE_API_TOKEN=${REPLICATE_API_TOKEN} - FRONTEND_URL=${FRONTEND_URL:-http://localhost} - PORT=3984 volumes: # Persist model config across container restarts - iqai-models:/app/data healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3984/api/health', r => process.exit(r.statusCode === 200 ? 0 : 1)).on('error', () => process.exit(1))"] interval: 15s timeout: 10s retries: 5 start_period: 15s networks: - iqai-net frontend: build: context: . dockerfile: Dockerfile.frontend container_name: iqai-frontend restart: unless-stopped ports: - "${FRONTEND_PORT:-1984}:80" depends_on: backend: condition: service_started networks: - iqai-net volumes: iqai-models: driver: local networks: iqai-net: driver: bridge