FROM python:3.12-slim
WORKDIR /app
COPY pyproject.toml README.md THIRD_PARTY_NOTICES.md ./
COPY src ./src
RUN pip install --no-cache-dir '.[web,laya]'
COPY data/builtin ./data/builtin
COPY data/generated ./data/generated
COPY web ./web
COPY notebooks ./notebooks
ENV PYTHONPATH=/app/src PYTHONDONTWRITEBYTECODE=1 ZAOSEQ_LAYA_ENABLED=1 HF_HOME=/tmp/huggingface
USER 65532:65532
EXPOSE 8000
HEALTHCHECK --interval=30s --start-period=300s CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/ready')"
CMD ["python", "-m", "uvicorn", "zaoseq_bopomofo.service:app", "--app-dir", "src", "--host", "0.0.0.0", "--port", "8000", "--workers", "1", "--no-access-log"]
