cleanmedia/Dockerfile
2025-03-28 10:20:11 +01:00

33 lines
918 B
Docker

ARG PYTHON_VERSION=3.13
FROM ghcr.io/astral-sh/uv:0.6-python${PYTHON_VERSION}-alpine AS builder
WORKDIR /app
RUN apk add --no-cache postgresql-dev
COPY uv.lock .
COPY pyproject.toml .
RUN uv sync --no-dev
FROM python:${PYTHON_VERSION}-alpine
WORKDIR /app
RUN apk add --no-cache postgresql-libs
ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.33/supercronic-linux-amd64 \
SUPERCRONIC_SHA1SUM=71b0d58cc53f6bd72cf2f293e09e294b79c666d8
RUN wget -qO /usr/local/bin/supercronic "$SUPERCRONIC_URL" \
&& echo "${SUPERCRONIC_SHA1SUM} /usr/local/bin/supercronic" | sha1sum -c - \
&& chmod +x /usr/local/bin/supercronic
COPY --from=builder /app/.venv /app/.venv
ENV PATH=/app/.venv/bin:$PATH
COPY . .
CMD echo "${CRON:-0 0 * * *} /app/cleanmedia.py ${CLEANMEDIA_OPTS:-c /etc/dendrite/dendrite.yaml -t 30 -n -l}" > /app/crontab && \
/usr/local/bin/supercronic /app/crontab