FROM thallian/confd-env:latest

ENV VERSION v0.17.0-rc1

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

RUN apk add --no-cache \
    openssl \
    bash \
    coreutils \
    curl \
    file \
    gcc \
    libpq \
    postgresql-dev \
    libffi \
    libffi-dev \
    libjpeg-turbo \
    libjpeg-turbo-dev \
    libssl1.0 \
    libtool \
    libxml2 \
    libxml2-dev \
    libxslt \
    libxslt-dev \
    linux-headers \
    make \
    musl \
    musl-dev \
    openldap \
    openldap-dev \
    openssl-dev \
    pwgen \
    py-pip \
    py-virtualenv \
    python \
    python-dev \
    sqlite \
    sqlite-libs \
    unzip \
    zlib \
    zlib-dev

RUN virtualenv -p python /var/lib/synapse
RUN source /var/lib/synapse/bin/activate && \
    pip install --upgrade setuptools && \
    pip install psycopg2 && \
    pip install python-ldap && \
    pip install https://github.com/matrix-org/synapse/tarball/$VERSION

RUN apk del \
    coreutils \
    file \
    gcc \
    postgresql-dev \
    libffi-dev \
    libjpeg-turbo-dev \
    libtool \
    libxml2-dev \
    libxslt-dev \
    linux-headers \
    make \
    musl-dev \
    openldap-dev \
    openssl-dev \
    python-dev \
    sqlite-libs \
    zlib-dev

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

ADD /rootfs /

EXPOSE 8448

VOLUME /var/lib/synapse/media_store/ /var/lib/synapse/uploads /var/lib/synapse/signing/ /etc/ssl/synapse/