feat: update dockerfile
This commit is contained in:
parent
87276d9432
commit
11d3079dbd
@ -6,6 +6,7 @@ __pycache__/
|
||||
# Ignore virtual environments
|
||||
venv/
|
||||
.env/
|
||||
.venv
|
||||
|
||||
# Ignore test files and directories
|
||||
tests/
|
||||
@ -31,3 +32,6 @@ Dockerfile*
|
||||
|
||||
# Images
|
||||
*.png
|
||||
|
||||
# Ignore caches
|
||||
.*cache
|
62
Dockerfile
62
Dockerfile
@ -1,54 +1,32 @@
|
||||
FROM python:3.10-alpine AS builder
|
||||
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-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 --no-root
|
||||
|
||||
FROM python:3.10-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN apk add --no-cache \
|
||||
postgresql-libs \
|
||||
libffi \
|
||||
libxml2 \
|
||||
libxslt \
|
||||
tzdata \
|
||||
curl
|
||||
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 \
|
||||
SUPERCRONIC=supercronic-linux-amd64
|
||||
SUPERCRONIC_SHA1SUM=71b0d58cc53f6bd72cf2f293e09e294b79c666d8
|
||||
|
||||
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
|
||||
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 /usr/local/lib/python3.10 /usr/local/lib/python3.10
|
||||
COPY --from=builder /app /app
|
||||
COPY --from=builder /app/.venv /app/.venv
|
||||
|
||||
ENV PYTHONPATH=/usr/local/lib/python3.10/site-packages
|
||||
ENV PATH=/app/.venv/bin:$PATH
|
||||
|
||||
COPY . .
|
||||
|
||||
CMD echo "${CRON:-0 0 * * *} python /app/cleanmedia.py ${CLEANMEDIA_OPTS:-c /etc/dendrite/dendrite.yaml -t 30 -n -l}" > /app/crontab && \
|
||||
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
|
||||
|
@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env python
|
||||
"""Media cleanup utility for Dendrite servers."""
|
||||
|
||||
"""
|
||||
|
@ -26,10 +26,6 @@ dev = [
|
||||
"pytest-coverage>=0.0,<0.1",
|
||||
]
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.mypy]
|
||||
ignore_missing_imports = true
|
||||
strict = true
|
||||
|
Loading…
x
Reference in New Issue
Block a user