ARG PYTHON_IMAGE=docker.m.daocloud.io/library/python:3.12-slim FROM ${PYTHON_IMAGE} ARG APT_MIRROR=mirrors.aliyun.com ARG PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple ARG PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 \ PIP_INDEX_URL=${PIP_INDEX_URL} \ PIP_TRUSTED_HOST=${PIP_TRUSTED_HOST} RUN set -eux; \ if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ sed -i "s|deb.debian.org|${APT_MIRROR}|g; s|security.debian.org|${APT_MIRROR}|g" \ /etc/apt/sources.list.d/debian.sources; \ fi; \ if [ -f /etc/apt/sources.list ]; then \ sed -i "s|deb.debian.org|${APT_MIRROR}|g; s|security.debian.org|${APT_MIRROR}|g" \ /etc/apt/sources.list; \ fi; \ apt-get update \ && apt-get install -y --no-install-recommends ffmpeg ca-certificates \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY sentence_api/requirements.txt /app/sentence_api/requirements.txt RUN python -m pip install --upgrade pip \ && python -m pip install -r /app/sentence_api/requirements.txt COPY sentence_api /app/sentence_api COPY sentence_analysis.py /app/sentence_analysis.py EXPOSE 8000 CMD ["python", "-m", "uvicorn", "sentence_api.main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "1", "--proxy-headers", "--forwarded-allow-ips", "*"]