| # βββββββββββββββββββββββββββββββββββββββββββββ | |
| # QP Backend (FastAPI + LangGraph λ©ν°λͺ¨λ¬ RAG) | |
| # Python 3.10 β κ°λ° κ°μνκ²½κ³Ό λμΌ λ²μ μ μ§ | |
| # βββββββββββββββββββββββββββββββββββββββββββββ | |
| FROM python:3.10-slim | |
| WORKDIR /app | |
| # Pillow λ°νμ μμ‘΄μ± | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| libjpeg62-turbo \ | |
| zlib1g \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # μμ‘΄μ± λ¨Όμ μ€μΉ (λ컀 λ μ΄μ΄ μΊμ±) | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir --upgrade pip && \ | |
| pip install --no-cache-dir -r requirements.txt | |
| # μ ν리μΌμ΄μ μ½λ | |
| COPY main.py . | |
| # βββ νκ²½λ³μ (μ΄λ―Έμ§ baked-in κΈ°λ³Έκ°) βββ | |
| # QP_API_PORTλ§ baked-in. λλ¨Έμ§(μλΉμ€ URL, SNAP_DATA_DIR)λ docker runμμ μ£Όμ . | |
| ENV QP_API_PORT=18503 | |
| EXPOSE 18503 | |
| # gunicorn + uvicorn worker | |
| CMD ["gunicorn", "main:app", \ | |
| "--workers", "4", \ | |
| "--worker-class", "uvicorn.workers.UvicornWorker", \ | |
| "--bind", "0.0.0.0:18503", \ | |
| "--timeout", "300"] |