forked from Deuxfleurs/nixcfg
58 lines
1.6 KiB
Docker
58 lines
1.6 KiB
Docker
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"]
|