FROM docker.io/alpine:3.18 AS builder

ENV VERSION=v1.94.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.18-3.1.5.0

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/