From c09e55f0022b4ed92500918bf4d47348b05bd228 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Thu, 21 May 2020 11:49:36 +0100 Subject: [PATCH] Simplify component builds --- docker/hub/Dockerfile.clientapi | 13 ------------- docker/hub/Dockerfile.clientproxy | 12 ------------ docker/hub/Dockerfile.component | 13 +++++++++++++ docker/hub/Dockerfile.eduserver | 13 ------------- docker/hub/Dockerfile.federationapi | 13 ------------- docker/hub/Dockerfile.federationproxy | 14 -------------- docker/hub/Dockerfile.federationsender | 13 ------------- docker/hub/Dockerfile.keyserver | 13 ------------- docker/hub/Dockerfile.mediaapi | 14 -------------- docker/hub/Dockerfile.monolith | 14 -------------- docker/hub/Dockerfile.publicroomsapi | 13 ------------- docker/hub/Dockerfile.roomserver | 13 ------------- docker/hub/Dockerfile.syncapi | 13 ------------- docker/hub/images-build.sh | 19 ++++++++++++------- 14 files changed, 25 insertions(+), 165 deletions(-) delete mode 100644 docker/hub/Dockerfile.clientapi delete mode 100644 docker/hub/Dockerfile.clientproxy create mode 100644 docker/hub/Dockerfile.component delete mode 100644 docker/hub/Dockerfile.eduserver delete mode 100644 docker/hub/Dockerfile.federationapi delete mode 100644 docker/hub/Dockerfile.federationproxy delete mode 100644 docker/hub/Dockerfile.federationsender delete mode 100644 docker/hub/Dockerfile.keyserver delete mode 100644 docker/hub/Dockerfile.mediaapi delete mode 100644 docker/hub/Dockerfile.monolith delete mode 100644 docker/hub/Dockerfile.publicroomsapi delete mode 100644 docker/hub/Dockerfile.roomserver delete mode 100644 docker/hub/Dockerfile.syncapi diff --git a/docker/hub/Dockerfile.clientapi b/docker/hub/Dockerfile.clientapi deleted file mode 100644 index e3065cad0..000000000 --- a/docker/hub/Dockerfile.clientapi +++ /dev/null @@ -1,13 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-client-api-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-client-api-server", "--config=dendrite.yaml"] - -EXPOSE 7771 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.clientproxy b/docker/hub/Dockerfile.clientproxy deleted file mode 100644 index 20e6444e9..000000000 --- a/docker/hub/Dockerfile.clientproxy +++ /dev/null @@ -1,12 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/client-api-proxy /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT [ "/usr/bin/client-api-proxy", "--bind-address=:8008", "--client-api-server-url=http://client_api:7771", "--sync-api-server-url=http://sync_api:7773", "--media-api-server-url=http://media_api:7774", "--public-rooms-api-server-url=http://public_rooms_api:7775" ] - -EXPOSE 8008 -EXPOSE 8448 \ No newline at end of file diff --git a/docker/hub/Dockerfile.component b/docker/hub/Dockerfile.component new file mode 100644 index 000000000..aa7c0e486 --- /dev/null +++ b/docker/hub/Dockerfile.component @@ -0,0 +1,13 @@ +FROM matrixdotorg/dendrite:latest AS base + +FROM alpine:latest + +ARG component=monolith +ENV entrypoint=${component} + +COPY --from=base /build/bin/${component} /usr/bin + +VOLUME /etc/dendrite +WORKDIR /etc/dendrite + +ENTRYPOINT /usr/bin/$entrypoint \ No newline at end of file diff --git a/docker/hub/Dockerfile.eduserver b/docker/hub/Dockerfile.eduserver deleted file mode 100644 index f436d7cc5..000000000 --- a/docker/hub/Dockerfile.eduserver +++ /dev/null @@ -1,13 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-edu-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-edu-server", "--config=dendrite.yaml"] - -EXPOSE 7777 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.federationapi b/docker/hub/Dockerfile.federationapi deleted file mode 100644 index 0a032327e..000000000 --- a/docker/hub/Dockerfile.federationapi +++ /dev/null @@ -1,13 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-federation-api-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-federation-api-server", "--config=dendrite.yaml"] - -EXPOSE 7772 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.federationproxy b/docker/hub/Dockerfile.federationproxy deleted file mode 100644 index ca21edb17..000000000 --- a/docker/hub/Dockerfile.federationproxy +++ /dev/null @@ -1,14 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/federation-api-proxy /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/federation-api-proxy", "--bind-address=:8448", "--federation-api-url=http://federation_api_server:7772", "--media-api-server-url=http://media_api:7774" ] - -EXPOSE 8008 -EXPOSE 8448 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.federationsender b/docker/hub/Dockerfile.federationsender deleted file mode 100644 index e2e9698d3..000000000 --- a/docker/hub/Dockerfile.federationsender +++ /dev/null @@ -1,13 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-federation-sender-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-federation-sender-server", "--config=dendrite.yaml"] - -EXPOSE 7776 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.keyserver b/docker/hub/Dockerfile.keyserver deleted file mode 100644 index fc398a0ba..000000000 --- a/docker/hub/Dockerfile.keyserver +++ /dev/null @@ -1,13 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-key-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-key-server", "--config=dendrite.yaml"] - -EXPOSE 7778 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.mediaapi b/docker/hub/Dockerfile.mediaapi deleted file mode 100644 index 3515ab4bd..000000000 --- a/docker/hub/Dockerfile.mediaapi +++ /dev/null @@ -1,14 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-media-api-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-media-api-server", "--config=dendrite.yaml"] - -EXPOSE 7774 - -VOLUME /etc/dendrite -VOLUME /var/dendrite/media \ No newline at end of file diff --git a/docker/hub/Dockerfile.monolith b/docker/hub/Dockerfile.monolith deleted file mode 100644 index 053f9590b..000000000 --- a/docker/hub/Dockerfile.monolith +++ /dev/null @@ -1,14 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-monolith-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT [ "/usr/bin/dendrite-monolith-server", "--tls-cert=server.crt", "--tls-key=server.key", "--config=dendrite.yaml" ] - -EXPOSE 8008 -EXPOSE 8448 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.publicroomsapi b/docker/hub/Dockerfile.publicroomsapi deleted file mode 100644 index 7abcca356..000000000 --- a/docker/hub/Dockerfile.publicroomsapi +++ /dev/null @@ -1,13 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-public-rooms-api-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-public-rooms-api-server", "--config=dendrite.yaml"] - -EXPOSE 7775 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.roomserver b/docker/hub/Dockerfile.roomserver deleted file mode 100644 index b8fa01442..000000000 --- a/docker/hub/Dockerfile.roomserver +++ /dev/null @@ -1,13 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-room-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-room-server", "--config=dendrite.yaml"] - -EXPOSE 7770 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/Dockerfile.syncapi b/docker/hub/Dockerfile.syncapi deleted file mode 100644 index 587423c58..000000000 --- a/docker/hub/Dockerfile.syncapi +++ /dev/null @@ -1,13 +0,0 @@ -FROM matrixdotorg/dendrite:latest AS base - -FROM alpine:latest - -COPY --from=base /build/bin/dendrite-sync-api-server /usr/bin - -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-sync-api-server", "--config=dendrite.yaml"] - -EXPOSE 7773 - -VOLUME /etc/dendrite \ No newline at end of file diff --git a/docker/hub/images-build.sh b/docker/hub/images-build.sh index 05963c140..d94ec2f72 100755 --- a/docker/hub/images-build.sh +++ b/docker/hub/images-build.sh @@ -2,11 +2,16 @@ cd $(git rev-parse --show-toplevel) -# go run ./cmd/generate-keys --private-key=docker/hub/config/matrix_key.pem -tls-cert=docker/hub/config/server.crt -tls-key=docker/hub/config/server.key +#docker build -f docker/hub/Dockerfile -t matrixdotorg/dendrite:latest . -docker build -f docker/hub/Dockerfile -t matrixdotorg/dendrite:latest . - -COMPONENTS=$(ls docker/hub/Dockerfile.* | cut -d "." -f2) -for NAME in $COMPONENTS; do - docker build -f docker/hub/Dockerfile.$NAME -t matrixdotorg/dendrite:$NAME . -done \ No newline at end of file +docker build -t matrixdotorg/dendrite:clientapi --build-arg component=dendrite-client-api-server -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:clientproxy --build-arg component=client-api-proxy -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:eduserver --build-arg component=dendrite-edu-server -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:federationapi --build-arg component=dendrite-federation-api-server -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:federationsender --build-arg component=dendrite-federation-sender-server -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:federationproxy --build-arg component=federation-api-proxy -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:keyserver --build-arg component=dendrite-key-server -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:mediaapi --build-arg component=dendrite-media-api-server -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:publicroomsapi --build-arg component=dendrite-public-rooms-api-server -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:roomserver --build-arg component=dendrite-room-server -f docker/hub/Dockerfile.component . +docker build -t matrixdotorg/dendrite:syncapi --build-arg component=dendrite-sync-api-server -f docker/hub/Dockerfile.component .