matrix/images/matrix-element/Dockerfile

35 lines
1.1 KiB
Docker

FROM [[ .docker.repo ]][[ .docker.base_images.alpine.image ]] AS builder
MAINTAINER [[ .docker.maintainer ]]
ARG SYNAPSE_ADMIN_VERSION=[[ .matrix.synapse_admin.version ]]
RUN set -euxo pipefail &&\
apk --no-cache update &&\
apk --no-cache add yarn git &&\
cd /tmp &&\
git clone --depth=1 --branch=${SYNAPSE_ADMIN_VERSION} https://github.com/Awesome-Technologies/synapse-admin.git &&\
cd synapse-admin &&\
yarn install &&\
yarn build --base=./
FROM nginxinc/nginx-unprivileged:alpine
MAINTAINER [[ .docker.maintainer ]]
ARG ELEMENT_VERSION=[[ .matrix.element.version ]]
ENV ELEMENT_NGINX_BIND_ADDR=0.0.0.0 \
ELEMENT_NGINX_BIND_PORT=8710
USER root
RUN set -eux &&\
mkdir -p /opt/element &&\
mkdir -p /opt/synapse-admin &&\
curl -sSL https://github.com/element-hq/element-web/releases/download/v${ELEMENT_VERSION}/element-v${ELEMENT_VERSION}.tar.gz |\
tar xvz -C /opt/element/ --strip-components 1 &&\
chown -R root: /opt/element
COPY --from=builder /tmp/synapse-admin/dist /opt/synapse-admin
USER nginx
EXPOSE ${ELEMENT_BIND_PORT}