Use uv pip to install supervisor in workers image (#18275)

This commit is contained in:
Andrew Ferrazzutti
2025-04-01 08:32:56 -04:00
committed by GitHub
parent f638a76ba4
commit 90f346183a
2 changed files with 9 additions and 3 deletions

1
changelog.d/18275.docker Normal file
View File

@@ -0,0 +1 @@
Use uv pip to install supervisor in the worker image.

View File

@@ -27,10 +27,15 @@ FROM docker.io/library/redis:7-${DEBIAN_VERSION} 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
# Install supervisord with pip instead of apt, to avoid installing a second # Install supervisord with uv pip instead of apt, to avoid installing a second
# copy of python. # copy of python.
RUN --mount=type=cache,target=/root/.cache/pip \ # --link-mode=copy silences a warning as uv isn't able to do hardlinks between its cache
pip install supervisor~=4.2 # (mounted as --mount=type=cache) and the target directory.
RUN \
--mount=type=bind,from=ghcr.io/astral-sh/uv:0.6.8,source=/uv,target=/uv \
--mount=type=cache,target=/root/.cache/uv \
/uv pip install --link-mode=copy --prefix="/usr/local" supervisor~=4.2
RUN mkdir -p /etc/supervisor/conf.d RUN mkdir -p /etc/supervisor/conf.d
# Copy over redis and nginx # Copy over redis and nginx