FROM python:3.13.2-slim WORKDIR /app # ติดตั้ง system deps (libportaudio2 สำหรับ pyaudio, curl สำหรับ healthcheck) RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ && rm -rf /var/lib/apt/lists/* # ติดตั้ง uv จาก official image COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv # Copy และติดตั้ง dependencies จาก lockfile COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-dev # Copy code COPY app/ ./app/ COPY *.png ./ # สร้างโฟลเดอร์ที่จำเป็น RUN mkdir -p app/feedback EXPOSE 7860 ENV PYTHONUNBUFFERED=1 ENV PATH="/app/.venv/bin:$PATH" ENV PYTHONPATH="/app" CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]