| # docker-compose.yml - Chandra OCR 2 ์ ์ฒด ์คํ | |
| # ์์น: ~/projects/chandra/docker/docker-compose.yml | |
| # --mm-processor-kwargs '{"max_pixels": 1003520, "min_pixels": 100352}' | |
| services: | |
| # ============================================ | |
| # Chandra vLLM ์ถ๋ก ์๋ฒ (GPU) | |
| # ============================================ | |
| vllm-server: | |
| image: vllm/vllm-openai:v0.17.0 | |
| container_name: chandra-vllm | |
| restart: unless-stopped | |
| ipc: host | |
| # ์ธ๋ถ ํฌํธ ๋ ธ์ถ ๋ถํ์ (FastAPI๊ฐ ๊ฐ์ compose ๋คํธ์ํฌ์์ ์ ๊ทผ) | |
| # ๋๋ฒ๊น ํ์ ์ ์๋ ์ฃผ์ ํด์ | |
| # ports: | |
| # - "8000:8000" | |
| volumes: | |
| - ~/projects/models/chandra-ocr-2:/models/chandra-ocr-2:ro | |
| environment: | |
| - HF_HUB_OFFLINE=1 | |
| - TRANSFORMERS_OFFLINE=1 | |
| command: > | |
| --model /models/chandra-ocr-2 | |
| --served-model-name chandra | |
| --dtype bfloat16 | |
| --max-model-len 12384 | |
| --max-num-seqs 64 | |
| --max-num-batched-tokens 8192 | |
| --enable-prefix-caching | |
| --mm-processor-kwargs '{"max_pixels": 2007040, "min_pixels": 100352}' | |
| --gpu-memory-utilization 0.85 | |
| --trust-remote-code | |
| deploy: | |
| resources: | |
| reservations: | |
| devices: | |
| - driver: nvidia | |
| count: 1 | |
| capabilities: [gpu] | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:8000/health"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 5 | |
| start_period: 180s # ๋ชจ๋ธ ๋ก๋ฉ ๋๊ธฐ (3๋ถ) | |
| # ============================================ | |
| # FastAPI ์๋น์ค (๊ธฐ์กด ์ธํฐํ์ด์ค ์ ์ง) | |
| # ============================================ | |
| fastapi: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| container_name: chandra-fastapi | |
| restart: unless-stopped | |
| ports: | |
| - "10001:10001" | |
| volumes: | |
| - /var/run/docker.sock:/var/run/docker.sock # LibreOffice ์ปจํ ์ด๋ ์ ๊ทผ์ฉ | |
| - ./uploads:/app/uploads | |
| environment: | |
| - CHANDRA_VLLM_IP=vllm-server | |
| - CHANDRA_VLLM_PORT=8000 | |
| depends_on: | |
| vllm-server: | |
| condition: service_healthy | |