36 lines
1.3 KiB
Docker
36 lines
1.3 KiB
Docker
FROM python:3.10-slim
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
|
PIP_NO_CACHE_DIR=1 \
|
|
PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \
|
|
PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn \
|
|
NPM_CONFIG_REGISTRY=https://registry.npmmirror.com
|
|
|
|
WORKDIR /app
|
|
|
|
# ffmpeg is required for MoviePy (audio duration + encoding).
|
|
RUN if [ -f /etc/apt/sources.list ]; then \
|
|
sed -i 's|http://deb.debian.org/debian|https://mirrors.tuna.tsinghua.edu.cn/debian|g; s|http://security.debian.org/debian-security|https://mirrors.tuna.tsinghua.edu.cn/debian-security|g' /etc/apt/sources.list; \
|
|
fi \
|
|
&& if [ -f /etc/apt/sources.list.d/debian.sources ]; then \
|
|
sed -i 's|http://deb.debian.org/debian|https://mirrors.tuna.tsinghua.edu.cn/debian|g; s|http://security.debian.org/debian-security|https://mirrors.tuna.tsinghua.edu.cn/debian-security|g' /etc/apt/sources.list.d/debian.sources; \
|
|
fi \
|
|
&& apt-get update && apt-get install -y --no-install-recommends \
|
|
ffmpeg \
|
|
fonts-dejavu-core \
|
|
nodejs \
|
|
npm \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY requirements.txt /app/requirements.txt
|
|
RUN pip install -r /app/requirements.txt
|
|
|
|
COPY . /app
|
|
|
|
RUN cd /app/server && npm i --omit=dev
|
|
|
|
EXPOSE 3000
|
|
CMD ["node", "/app/server/index.js"]
|