@@ -0,0 +1 @@ | |||||
Update docker image to use Debian bookworm as the base. |
@@ -25,9 +25,9 @@ ARG PYTHON_VERSION=3.11 | |||||
### | ### | ||||
### Stage 0: generate requirements.txt | ### Stage 0: generate requirements.txt | ||||
### | ### | ||||
# We hardcode the use of Debian bullseye here because this could change upstream | |||||
# and other Dockerfiles used for testing are expecting bullseye. | |||||
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bullseye as requirements | |||||
# We hardcode the use of Debian bookworm here because this could change upstream | |||||
# and other Dockerfiles used for testing are expecting bookworm. | |||||
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm as requirements | |||||
# RUN --mount is specific to buildkit and is documented at | # RUN --mount is specific to buildkit and is documented at | ||||
# https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md#build-mounts-run---mount. | # https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md#build-mounts-run---mount. | ||||
@@ -87,7 +87,7 @@ RUN if [ -z "$TEST_ONLY_IGNORE_POETRY_LOCKFILE" ]; then \ | |||||
### | ### | ||||
### Stage 1: builder | ### Stage 1: builder | ||||
### | ### | ||||
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bullseye as builder | |||||
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm as builder | |||||
# install the OS build deps | # install the OS build deps | ||||
RUN \ | RUN \ | ||||
@@ -158,7 +158,7 @@ RUN --mount=type=cache,target=/synapse/target,sharing=locked \ | |||||
### Stage 2: runtime | ### Stage 2: runtime | ||||
### | ### | ||||
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bullseye | |||||
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm | |||||
LABEL org.opencontainers.image.url='https://matrix.org/docs/projects/server/synapse' | LABEL org.opencontainers.image.url='https://matrix.org/docs/projects/server/synapse' | ||||
LABEL org.opencontainers.image.documentation='https://github.com/matrix-org/synapse/blob/master/docker/README.md' | LABEL org.opencontainers.image.documentation='https://github.com/matrix-org/synapse/blob/master/docker/README.md' | ||||
@@ -173,10 +173,10 @@ RUN \ | |||||
gosu \ | gosu \ | ||||
libjpeg62-turbo \ | libjpeg62-turbo \ | ||||
libpq5 \ | libpq5 \ | ||||
libwebp6 \ | |||||
libwebp7 \ | |||||
xmlsec1 \ | xmlsec1 \ | ||||
libjemalloc2 \ | libjemalloc2 \ | ||||
libicu67 \ | |||||
libicu72 \ | |||||
libssl-dev \ | libssl-dev \ | ||||
openssl \ | openssl \ | ||||
&& rm -rf /var/lib/apt/lists/* | && rm -rf /var/lib/apt/lists/* | ||||
@@ -7,7 +7,7 @@ ARG FROM=matrixdotorg/synapse:$SYNAPSE_VERSION | |||||
# target image. For repeated rebuilds, this is much faster than apt installing | # target image. For repeated rebuilds, this is much faster than apt installing | ||||
# each time. | # each time. | ||||
FROM docker.io/library/debian:bullseye-slim AS deps_base | |||||
FROM docker.io/library/debian:bookworm-slim AS deps_base | |||||
RUN \ | RUN \ | ||||
--mount=type=cache,target=/var/cache/apt,sharing=locked \ | --mount=type=cache,target=/var/cache/apt,sharing=locked \ | ||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | --mount=type=cache,target=/var/lib/apt,sharing=locked \ | ||||
@@ -21,7 +21,7 @@ FROM docker.io/library/debian:bullseye-slim AS deps_base | |||||
# which makes it much easier to copy (but we need to make sure we use an image | # which makes it much easier to copy (but we need to make sure we use an image | ||||
# based on the same debian version as the synapse image, to make sure we get | # based on the same debian version as the synapse image, to make sure we get | ||||
# the expected version of libc. | # the expected version of libc. | ||||
FROM docker.io/library/redis:7-bullseye AS redis_base | |||||
FROM docker.io/library/redis:7-bookworm AS redis_base | |||||
# now build the final image, based on the the regular Synapse docker image | # now build the final image, based on the the regular Synapse docker image | ||||
FROM $FROM | FROM $FROM | ||||
@@ -20,8 +20,8 @@ FROM $FROM | |||||
# the same debian version as Synapse's docker image (so the versions of the | # the same debian version as Synapse's docker image (so the versions of the | ||||
# shared libraries match). | # shared libraries match). | ||||
RUN adduser --system --uid 999 postgres --home /var/lib/postgresql | RUN adduser --system --uid 999 postgres --home /var/lib/postgresql | ||||
COPY --from=docker.io/library/postgres:13-bullseye /usr/lib/postgresql /usr/lib/postgresql | |||||
COPY --from=docker.io/library/postgres:13-bullseye /usr/share/postgresql /usr/share/postgresql | |||||
COPY --from=docker.io/library/postgres:13-bookworm /usr/lib/postgresql /usr/lib/postgresql | |||||
COPY --from=docker.io/library/postgres:13-bookworm /usr/share/postgresql /usr/share/postgresql | |||||
RUN mkdir /var/run/postgresql && chown postgres /var/run/postgresql | RUN mkdir /var/run/postgresql && chown postgres /var/run/postgresql | ||||
ENV PATH="${PATH}:/usr/lib/postgresql/13/bin" | ENV PATH="${PATH}:/usr/lib/postgresql/13/bin" | ||||
ENV PGDATA=/var/lib/postgresql/data | ENV PGDATA=/var/lib/postgresql/data | ||||
@@ -8,9 +8,9 @@ ARG PYTHON_VERSION=3.9 | |||||
### | ### | ||||
### Stage 0: generate requirements.txt | ### Stage 0: generate requirements.txt | ||||
### | ### | ||||
# We hardcode the use of Debian bullseye here because this could change upstream | |||||
# and other Dockerfiles used for testing are expecting bullseye. | |||||
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bullseye | |||||
# We hardcode the use of Debian bookworm here because this could change upstream | |||||
# and other Dockerfiles used for testing are expecting bookworm. | |||||
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm | |||||
# Install Rust and other dependencies (stolen from normal Dockerfile) | # Install Rust and other dependencies (stolen from normal Dockerfile) | ||||
# install the OS build deps | # install the OS build deps | ||||
@@ -33,7 +33,7 @@ RUN \ | |||||
gosu \ | gosu \ | ||||
libjpeg62-turbo \ | libjpeg62-turbo \ | ||||
libpq5 \ | libpq5 \ | ||||
libwebp6 \ | |||||
libwebp7 \ | |||||
xmlsec1 \ | xmlsec1 \ | ||||
libjemalloc2 \ | libjemalloc2 \ | ||||
&& rm -rf /var/lib/apt/lists/* | && rm -rf /var/lib/apt/lists/* | ||||