38 lines
1.4 KiB
Docker
38 lines
1.4 KiB
Docker
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", "*"]
|