| |
| |
| |
| |
|
|
| services: |
| |
| cert-verify-api: |
| build: |
| context: . |
| dockerfile: Dockerfile |
| container_name: cert-verify-api |
| restart: unless-stopped |
| ports: |
| - "${PORT:-8080}:${PORT:-8080}" |
| env_file: |
| - .env |
| environment: |
| - PORT=${PORT:-8080} |
| - WORKERS=${WORKERS:-1} |
| - LOG_LEVEL=${LOG_LEVEL:-info} |
| - SKIP_MODEL_LOADING=${SKIP_MODEL_LOADING:-false} |
| volumes: |
| |
| - model-cache:/app/models |
| - vit-cache:/app/vit_cache |
| deploy: |
| resources: |
| limits: |
| memory: 4G |
| reservations: |
| memory: 2G |
| healthcheck: |
| test: ["CMD", "curl", "-f", "http://localhost:${PORT:-8080}/health"] |
| interval: 30s |
| timeout: 10s |
| retries: 3 |
| start_period: 120s |
| logging: |
| driver: json-file |
| options: |
| max-size: "10m" |
| max-file: "3" |
|
|
| |
| nginx: |
| image: nginx:1.25-alpine |
| container_name: cert-verify-nginx |
| restart: unless-stopped |
| ports: |
| - "80:80" |
| - "443:443" |
| volumes: |
| - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro |
| - ./nginx/certs:/etc/nginx/certs:ro |
| depends_on: |
| cert-verify-api: |
| condition: service_healthy |
| profiles: |
| - production |
|
|
| volumes: |
| model-cache: |
| driver: local |
| vit-cache: |
| driver: local |
|
|