35 lines
830 B
Docker
35 lines
830 B
Docker
FROM docker.io/library/python:3.12@sha256:6121c801703ec330726ebf542faab113efcfdf2236378c03df8f49d80e7b4180 AS base
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
WORKDIR /app
|
|
|
|
COPY docker/web/apt.requirements.txt docker/web/apt.requirements.txt
|
|
RUN apt-get update \
|
|
&& apt-get install -y $(cat docker/web/apt.requirements.txt)
|
|
|
|
RUN \
|
|
pip3 install \
|
|
--break-system-packages uv
|
|
|
|
COPY requirements.txt requirements.txt
|
|
|
|
RUN \
|
|
--mount=type=bind,source=releases/whl,target=/app/releases/whl \
|
|
--mount=type=cache,target=/root/.cache/pip \
|
|
--mount=type=cache,target=/root/.cache/uv \
|
|
uv pip \
|
|
install \
|
|
--system \
|
|
--break-system-packages \
|
|
-f releases/whl \
|
|
-r requirements.txt
|
|
|
|
WORKDIR /app
|
|
RUN apt-get update -yy && apt-get install -yy tini
|
|
|
|
FROM base as web
|
|
|
|
ENTRYPOINT ["tini", "--"]
|
|
CMD ["/usr/bin/python3", "-m", "d1.reload"]
|