Files
xiaoxia-saas/infra/docker/worker.Dockerfile
T

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}"]