FROM docker.io/alpine:3.16 AS builder

ENV VERSION=v1.62.0

RUN apk add --no-cache \
    alpine-sdk \
    python3-dev \
    py3-pip \
	py3-wheel \
    libffi-dev \
    openssl-dev \
    zlib-dev \
    jpeg-dev \
    rust

RUN pip3 install --target="/install" matrix-synapse==$VERSION

FROM docker.io/thallian/confd-env:3.16

RUN addgroup -g 2222 matrix-synapse
RUN adduser -h /var/lib/matrix-synapse -u 2222 -D -G matrix-synapse matrix-synapse

RUN apk add --no-cache \
    python3 \
    py3-psycopg2 \
    py3-authlib \
    libffi \
    openssl \
    zlib \
    jpeg

ENV PYTHONPATH=$PYTHONPATH:/py-pkgs
COPY --from=builder /install /py-pkgs

ADD /rootfs /

RUN chown -R matrix-synapse:matrix-synapse /var/lib/matrix-synapse
ENV HOME /var/lib/matrix-synapse

VOLUME /var/lib/matrix-synapse/media_store/ /var/lib/matrix-synapse/signing/ /etc/ssl/matrix-synapse/ /var/lib/matrix-synapse/registrations/