FROM ghcr.io/astral-sh/uv:latest AS uv FROM python:3.12-slim-bookworm COPY --from=uv /uv /bin/uv ARG UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ UV_SYSTEM_PYTHON=1 \ UV_INDEX_URL=${UV_INDEX_URL} \ TZ=Asia/Shanghai \ PYTHONPATH="/app:${PYTHONPATH}" RUN echo "# 清华大学 Debian 镜像源配置\n\ # 主软件源\n\ deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware\n\ deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware\n\ \n\ # 安全更新源\n\ deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware\n\ deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware\n\ \n\ # 更新源\n\ deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware\n\ deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware" > /etc/apt/sources.list RUN apt-get update && apt-get install -y --no-install-recommends \ supervisor \ tzdata \ && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY pyproject.toml /app/pyproject.toml RUN uv pip install -r /app/pyproject.toml COPY . /app RUN chmod +x /app/docker-entrypoint.sh \ && mkdir -p /app/logs \ && mkdir -p /var/log/supervisor COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf ENTRYPOINT ["/app/docker-entrypoint.sh"] CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]