forked from erp-dev/erp
36 lines
854 B
Docker
36 lines
854 B
Docker
# syntax=docker/dockerfile:1
|
||
|
||
FROM python:3.14-slim AS base
|
||
|
||
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||
PYTHONUNBUFFERED=1 \
|
||
PIP_ROOT_USER_ACTION=ignore
|
||
|
||
WORKDIR /app
|
||
|
||
RUN apt-get update \
|
||
&& apt-get install -y --no-install-recommends build-essential curl postgresql-client \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
COPY pyproject.toml /app/
|
||
|
||
RUN pip install --upgrade pip \
|
||
&& pip install --no-cache-dir uv \
|
||
&& uv pip install --system .
|
||
|
||
COPY . /app
|
||
|
||
CMD ["python", "manage.py", "runserver", "0.0.0.0:8100"]
|
||
|
||
|
||
FROM base AS celery
|
||
|
||
CMD ["celery", "-A", "flower", "worker", "-l", "info", "--concurrency=2"]
|
||
|
||
|
||
# 默认产物:runtime 镜像(用于 web / celery_worker / celery_beat 共用,通过 compose 覆盖 command)
|
||
FROM base AS runtime
|
||
|
||
CMD ["uvicorn", "flower.asgi:application", "--host", "0.0.0.0", "--port", "8000", "--workers", "1"]
|
||
|