55 lines
1.3 KiB
Docker
55 lines
1.3 KiB
Docker
FROM python:3.10-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache \
|
|
postgresql-dev \
|
|
gcc \
|
|
musl-dev \
|
|
libffi-dev \
|
|
curl \
|
|
g++ \
|
|
make \
|
|
libxml2-dev \
|
|
libxslt-dev \
|
|
tzdata
|
|
|
|
RUN pip install --no-cache-dir poetry
|
|
|
|
RUN poetry config virtualenvs.create false
|
|
|
|
COPY pyproject.toml poetry.lock ./
|
|
RUN poetry install --only main --no-interaction --no-ansi
|
|
|
|
FROM python:3.10-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache \
|
|
postgresql-libs \
|
|
libffi \
|
|
libxml2 \
|
|
libxslt \
|
|
tzdata \
|
|
curl
|
|
|
|
ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.33/supercronic-linux-amd64 \
|
|
SUPERCRONIC_SHA1SUM=71b0d58cc53f6bd72cf2f293e09e294b79c666d8 \
|
|
SUPERCRONIC=supercronic-linux-amd64
|
|
|
|
RUN curl -fsSLO "$SUPERCRONIC_URL" \
|
|
&& echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - \
|
|
&& chmod +x "$SUPERCRONIC" \
|
|
&& mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" \
|
|
&& ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic
|
|
|
|
COPY --from=builder /usr/local/lib/python3.10 /usr/local/lib/python3.10
|
|
COPY --from=builder /app /app
|
|
|
|
ENV PYTHONPATH=/usr/local/lib/python3.10/site-packages
|
|
|
|
COPY . .
|
|
|
|
CMD echo "${CRON:-0 0 * * *} python /app/cleanmedia.py ${CLEANMEDIA_OPTS:-c /etc/dendrite/dendrite.yaml -t 30 -n -l}" > /app/crontab && \
|
|
/usr/local/bin/supercronic /app/crontab
|