FROM amd64/debian:trixie AS builder ARG VERSION ARG S3_VERSION RUN apt-get update && \ apt-get -qq -y full-upgrade && \ apt-get install -y \ python3 \ python3-pip \ python3-dev \ python3-setuptools \ libffi-dev \ build-essential \ libssl-dev \ libjpeg-dev \ libjpeg62-turbo-dev \ libxml2-dev \ zlib1g-dev \ rustc \ cargo \ # postgresql-dev \ libpq-dev \ virtualenv \ libxslt1-dev \ git RUN virtualenv /root/matrix-env -p /usr/bin/python3 && \ . /root/matrix-env/bin/activate && \ pip3 install \ https://github.com/element-hq/synapse/archive/${VERSION}.tar.gz#egg=matrix-synapse[matrix-synapse-ldap3,postgres,resources.consent,saml2,url_preview] && \ pip3 install \ git+https://github.com/matrix-org/synapse-s3-storage-provider.git@${S3_VERSION} # WARNING: trixie n'est pas une LTS # mais on est obligé d'avoir la même version que le builder # et le builder veut une version de rustc qui n'est pas dans bookworm (dernière LTS at the time of writing) FROM amd64/debian:trixie RUN apt-get update && \ apt-get -qq -y full-upgrade && \ apt-get install -y \ python3 \ python3-setuptools \ libffi8 \ libjpeg62-turbo \ libssl3 \ libxslt1.1 \ libpq5 \ zlib1g \ libjemalloc2 \ ca-certificates ENV LD_PRELOAD /usr/lib/x86_64-linux-gnu/libjemalloc.so.2 COPY --from=builder /root/matrix-env /root/matrix-env COPY matrix-s3-async /usr/local/bin/matrix-s3-async COPY entrypoint.sh /usr/local/bin/entrypoint ENTRYPOINT ["/usr/local/bin/entrypoint"]