Files
main-site/Dockerfile
Mark fbe8546b37
All checks were successful
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / pr-e2e (pull_request) Successful in 2m53s
CI / ci (pull_request) Successful in 3m27s
fix(docker): add libavif-dev for AVIF image upload support
Pillow 11 supports AVIF natively but requires libavif to be installed
at the system level. Without it, uploading AVIF images via Wagtail's
image chooser causes an unhandled 500 error.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-02 15:52:57 +00:00

54 lines
1.5 KiB
Docker

FROM python:3.12-slim-bookworm
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1
RUN set -eux; \
sed -i 's|http://deb.debian.org|https://deb.debian.org|g' /etc/apt/sources.list.d/debian.sources; \
printf '%s\n' \
'Acquire::Retries "8";' \
'Acquire::http::No-Cache "true";' \
'Acquire::https::No-Cache "true";' \
'Acquire::http::Pipeline-Depth "0";' \
'Acquire::BrokenProxy "true";' \
> /etc/apt/apt.conf.d/99docker-hardening; \
apt-get update; \
for attempt in 1 2 3; do \
apt-get install -y --no-install-recommends \
build-essential \
libpq-dev \
libavif-dev \
curl \
nodejs \
npm \
libasound2 \
libatk-bridge2.0-0 \
libatk1.0-0 \
libcups2 \
libgbm1 \
libgtk-3-0 \
libnss3 \
libx11-xcb1 \
libxcomposite1 \
libxdamage1 \
libxfixes3 \
libxrandr2 \
fonts-liberation \
&& break; \
if [ "$attempt" -eq 3 ]; then exit 1; fi; \
rm -rf /var/lib/apt/lists/*; \
sleep "$((attempt * 5))"; \
apt-get update; \
done; \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements /app/requirements
RUN pip install --upgrade pip && pip install -r requirements/base.txt
COPY . /app
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]