easy-ocr / Dockerfile
Hanchin's picture
ci(Dockerfile): modify CMD
67bf608 unverified
# build stage
FROM python:3.9.16 AS builder
# install PDM
RUN pip install -U pip setuptools wheel -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install pdm -i https://pypi.tuna.tsinghua.edu.cn/simple
# copy files
COPY pyproject.toml pdm.lock README.md /project/
COPY src/ /project/src
ENV PDM_PYPI_URL="https://pypi.tuna.tsinghua.edu.cn/simple"
# install dependencies and project into the local packages directory
WORKDIR /project
RUN --mount=type=cache,target=/root/.cache mkdir __pypackages__ && pdm sync --prod --no-editable
# run stage
FROM python:3.9.16
# retrieve packages from build stage
ENV PYTHONPATH=/project/pkgs
COPY --from=builder /project/__pypackages__/3.9/lib /project/pkgs
# retrieve executables
COPY --from=builder /project/__pypackages__/3.9/bin/* /bin/
COPY ./assets /home/appuser/.EasyOCR/model
WORKDIR /home/appuser
RUN useradd -m appuser && chown -R appuser:appuser /home/appuser
USER appuser
# set command/entrypoint, adapt to fit your needs
CMD ["/bin/gunicorn", "-w", "3", "-b", "0.0.0.0:8080", "--timeout", "300", "app:app"]