services: api: build: context: . target: fastapi image: faceverification:fastapi profiles: - api ports: - "8000:8000" environment: FACEVERIFICATION_DEMO_USERNAME: ${FACEVERIFICATION_DEMO_USERNAME:-demo} FACEVERIFICATION_DEMO_PASSWORD: ${FACEVERIFICATION_DEMO_PASSWORD:-demo123} FACEVERIFICATION_JWT_SECRET_KEY: ${FACEVERIFICATION_JWT_SECRET_KEY:-change-me-in-production-demo-secret-32-bytes-min} FACEVERIFICATION_DEBUG: ${FACEVERIFICATION_DEBUG:-true} FACEVERIFICATION_LOG_FORMAT: ${FACEVERIFICATION_LOG_FORMAT:-text} healthcheck: test: [ "CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=5)" ] interval: 30s timeout: 10s retries: 3 start_period: 60s gradio: build: context: . target: gradio image: faceverification:gradio profiles: - gradio ports: - "7860:7860" environment: FACEVERIFICATION_DEBUG: ${FACEVERIFICATION_DEBUG:-true} FACEVERIFICATION_LOG_FORMAT: ${FACEVERIFICATION_LOG_FORMAT:-text}