21 lines
1.1 KiB
Docker
21 lines
1.1 KiB
Docker
FROM python:3.12-slim
|
|
WORKDIR /app
|
|
ENV PYTHONPATH=/app
|
|
ENV PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/
|
|
ENV PIP_TRUSTED_HOST=mirrors.aliyun.com
|
|
COPY requirements.txt ./
|
|
RUN set -eux; \
|
|
sed -i 's|http://deb.debian.org/debian|https://mirrors.aliyun.com/debian|g; s|http://deb.debian.org/debian-security|https://mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list.d/debian.sources; \
|
|
apt-get -o Acquire::http::Timeout=30 -o Acquire::https::Timeout=30 update; \
|
|
apt-get -o Acquire::http::Timeout=30 -o Acquire::https::Timeout=30 install -y --no-install-recommends ffmpeg; \
|
|
rm -rf /var/lib/apt/lists/*; \
|
|
python -m pip install --upgrade pip setuptools wheel; \
|
|
pip install --no-cache-dir --default-timeout=120 --retries 10 -r requirements.txt
|
|
COPY apps/worker /app/apps/worker
|
|
COPY packages /app/packages
|
|
COPY scripts /app/scripts
|
|
COPY alembic /app/alembic
|
|
COPY alembic.ini /app/alembic.ini
|
|
WORKDIR /app/apps/worker
|
|
CMD ["sh", "-c", "celery -A worker_app.celery_app.celery_app worker --loglevel=info --concurrency=${WORKER_CONCURRENCY:-1} --max-tasks-per-child=${WORKER_MAX_TASKS_PER_CHILD:-100}"]
|