Update Docker (#1542)
* Separate Docker images, rather than tags * Allow specifying tag to build/push/pull * Include goose in Docker builds
This commit is contained in:
parent
a71360d099
commit
92982a402f
6 changed files with 62 additions and 94 deletions
|
@ -6,6 +6,7 @@ ARG component=monolith
|
|||
ENV entrypoint=${component}
|
||||
|
||||
COPY --from=base /build/bin/${component} /usr/bin
|
||||
COPY --from=base /build/bin/goose /usr/bin
|
||||
|
||||
VOLUME /etc/dendrite
|
||||
WORKDIR /etc/dendrite
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3.4"
|
|||
services:
|
||||
monolith:
|
||||
hostname: monolith
|
||||
image: matrixdotorg/dendrite:monolith
|
||||
image: matrixdotorg/dendrite-monolith:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml",
|
||||
"--tls-cert=server.crt",
|
||||
|
|
|
@ -1,28 +1,8 @@
|
|||
version: "3.4"
|
||||
services:
|
||||
client_api_proxy:
|
||||
hostname: client_api_proxy
|
||||
image: matrixdotorg/dendrite:clientproxy
|
||||
command: [
|
||||
"--bind-address=:8008",
|
||||
"--client-api-server-url=http://client_api:8071",
|
||||
"--sync-api-server-url=http://sync_api:8073",
|
||||
"--media-api-server-url=http://media_api:8074"
|
||||
]
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
- internal
|
||||
depends_on:
|
||||
- sync_api
|
||||
- client_api
|
||||
- media_api
|
||||
ports:
|
||||
- "8008:8008"
|
||||
|
||||
client_api:
|
||||
hostname: client_api
|
||||
image: matrixdotorg/dendrite:clientapi
|
||||
image: matrixdotorg/dendrite-clientapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -34,7 +14,7 @@ services:
|
|||
|
||||
media_api:
|
||||
hostname: media_api
|
||||
image: matrixdotorg/dendrite:mediaapi
|
||||
image: matrixdotorg/dendrite-mediaapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -45,7 +25,7 @@ services:
|
|||
|
||||
sync_api:
|
||||
hostname: sync_api
|
||||
image: matrixdotorg/dendrite:syncapi
|
||||
image: matrixdotorg/dendrite-syncapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -56,7 +36,7 @@ services:
|
|||
|
||||
room_server:
|
||||
hostname: room_server
|
||||
image: matrixdotorg/dendrite:roomserver
|
||||
image: matrixdotorg/dendrite-roomserver:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -67,7 +47,7 @@ services:
|
|||
|
||||
edu_server:
|
||||
hostname: edu_server
|
||||
image: matrixdotorg/dendrite:eduserver
|
||||
image: matrixdotorg/dendrite-eduserver:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -76,28 +56,9 @@ services:
|
|||
networks:
|
||||
- internal
|
||||
|
||||
federation_api_proxy:
|
||||
hostname: federation_api_proxy
|
||||
image: matrixdotorg/dendrite:federationproxy
|
||||
command: [
|
||||
"--bind-address=:8448",
|
||||
"--federation-api-url=http://federation_api:8072",
|
||||
"--media-api-server-url=http://media_api:8074"
|
||||
]
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
depends_on:
|
||||
- federation_api
|
||||
- federation_sender
|
||||
- media_api
|
||||
networks:
|
||||
- internal
|
||||
ports:
|
||||
- "8448:8448"
|
||||
|
||||
federation_api:
|
||||
hostname: federation_api
|
||||
image: matrixdotorg/dendrite:federationapi
|
||||
image: matrixdotorg/dendrite-federationapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -108,7 +69,7 @@ services:
|
|||
|
||||
federation_sender:
|
||||
hostname: federation_sender
|
||||
image: matrixdotorg/dendrite:federationsender
|
||||
image: matrixdotorg/dendrite-federationsender:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -119,7 +80,7 @@ services:
|
|||
|
||||
key_server:
|
||||
hostname: key_server
|
||||
image: matrixdotorg/dendrite:keyserver
|
||||
image: matrixdotorg/dendrite-keyserver:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -130,7 +91,7 @@ services:
|
|||
|
||||
signing_key_server:
|
||||
hostname: signing_key_server
|
||||
image: matrixdotorg/dendrite:signingkeyserver
|
||||
image: matrixdotorg/dendrite-signingkeyserver:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -141,7 +102,7 @@ services:
|
|||
|
||||
user_api:
|
||||
hostname: user_api
|
||||
image: matrixdotorg/dendrite:userapi
|
||||
image: matrixdotorg/dendrite-userapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
@ -152,7 +113,7 @@ services:
|
|||
|
||||
appservice_api:
|
||||
hostname: appservice_api
|
||||
image: matrixdotorg/dendrite:appservice
|
||||
image: matrixdotorg/dendrite-appservice:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
|
|
|
@ -2,20 +2,22 @@
|
|||
|
||||
cd $(git rev-parse --show-toplevel)
|
||||
|
||||
docker build -f build/docker/Dockerfile -t matrixdotorg/dendrite:latest .
|
||||
TAG=${1:-latest}
|
||||
|
||||
docker build -t matrixdotorg/dendrite:monolith --build-arg component=dendrite-monolith-server -f build/docker/Dockerfile.component .
|
||||
echo "Building tag '${TAG}'"
|
||||
|
||||
docker build -t matrixdotorg/dendrite:appservice --build-arg component=dendrite-appservice-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:clientapi --build-arg component=dendrite-client-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:clientproxy --build-arg component=client-api-proxy -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:eduserver --build-arg component=dendrite-edu-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:federationapi --build-arg component=dendrite-federation-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:federationsender --build-arg component=dendrite-federation-sender-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:federationproxy --build-arg component=federation-api-proxy -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:keyserver --build-arg component=dendrite-key-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:mediaapi --build-arg component=dendrite-media-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:roomserver --build-arg component=dendrite-room-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:syncapi --build-arg component=dendrite-sync-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:signingkeyserver --build-arg component=dendrite-signing-key-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite:userapi --build-arg component=dendrite-user-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -f build/docker/Dockerfile -t matrixdotorg/dendrite:${TAG} .
|
||||
|
||||
docker build -t matrixdotorg/dendrite-monolith:${TAG} --build-arg component=dendrite-monolith-server -f build/docker/Dockerfile.component .
|
||||
|
||||
docker build -t matrixdotorg/dendrite-appservice:${TAG} --build-arg component=dendrite-appservice-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-clientapi:${TAG} --build-arg component=dendrite-client-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-eduserver:${TAG} --build-arg component=dendrite-edu-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-federationapi:${TAG} --build-arg component=dendrite-federation-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-federationsender:${TAG} --build-arg component=dendrite-federation-sender-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-keyserver:${TAG} --build-arg component=dendrite-key-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-mediaapi:${TAG} --build-arg component=dendrite-media-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-roomserver:${TAG} --build-arg component=dendrite-room-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-syncapi:${TAG} --build-arg component=dendrite-sync-api-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-signingkeyserver:${TAG} --build-arg component=dendrite-signing-key-server -f build/docker/Dockerfile.component .
|
||||
docker build -t matrixdotorg/dendrite-userapi:${TAG} --build-arg component=dendrite-user-api-server -f build/docker/Dockerfile.component .
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
docker pull matrixdotorg/dendrite:monolith
|
||||
TAG=${1:-latest}
|
||||
|
||||
docker pull matrixdotorg/dendrite:appservice
|
||||
docker pull matrixdotorg/dendrite:clientapi
|
||||
docker pull matrixdotorg/dendrite:clientproxy
|
||||
docker pull matrixdotorg/dendrite:eduserver
|
||||
docker pull matrixdotorg/dendrite:federationapi
|
||||
docker pull matrixdotorg/dendrite:federationsender
|
||||
docker pull matrixdotorg/dendrite:federationproxy
|
||||
docker pull matrixdotorg/dendrite:keyserver
|
||||
docker pull matrixdotorg/dendrite:mediaapi
|
||||
docker pull matrixdotorg/dendrite:roomserver
|
||||
docker pull matrixdotorg/dendrite:syncapi
|
||||
docker pull matrixdotorg/dendrite:signingkeyserver
|
||||
docker pull matrixdotorg/dendrite:userapi
|
||||
echo "Pulling tag '${TAG}'"
|
||||
|
||||
docker pull matrixdotorg/dendrite-monolith:${TAG}
|
||||
|
||||
docker pull matrixdotorg/dendrite-appservice:${TAG}
|
||||
docker pull matrixdotorg/dendrite-clientapi:${TAG}
|
||||
docker pull matrixdotorg/dendrite-eduserver:${TAG}
|
||||
docker pull matrixdotorg/dendrite-federationapi:${TAG}
|
||||
docker pull matrixdotorg/dendrite-federationsender:${TAG}
|
||||
docker pull matrixdotorg/dendrite-keyserver:${TAG}
|
||||
docker pull matrixdotorg/dendrite-mediaapi:${TAG}
|
||||
docker pull matrixdotorg/dendrite-roomserver:${TAG}
|
||||
docker pull matrixdotorg/dendrite-syncapi:${TAG}
|
||||
docker pull matrixdotorg/dendrite-signingkeyserver:${TAG}
|
||||
docker pull matrixdotorg/dendrite-userapi:${TAG}
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
docker push matrixdotorg/dendrite:monolith
|
||||
TAG=${1:-latest}
|
||||
|
||||
docker push matrixdotorg/dendrite:appservice
|
||||
docker push matrixdotorg/dendrite:clientapi
|
||||
docker push matrixdotorg/dendrite:clientproxy
|
||||
docker push matrixdotorg/dendrite:eduserver
|
||||
docker push matrixdotorg/dendrite:federationapi
|
||||
docker push matrixdotorg/dendrite:federationsender
|
||||
docker push matrixdotorg/dendrite:federationproxy
|
||||
docker push matrixdotorg/dendrite:keyserver
|
||||
docker push matrixdotorg/dendrite:mediaapi
|
||||
docker push matrixdotorg/dendrite:roomserver
|
||||
docker push matrixdotorg/dendrite:syncapi
|
||||
docker push matrixdotorg/dendrite:signingkeyserver
|
||||
docker push matrixdotorg/dendrite:userapi
|
||||
echo "Pushing tag '${TAG}'"
|
||||
|
||||
docker push matrixdotorg/dendrite-monolith:${TAG}
|
||||
|
||||
docker push matrixdotorg/dendrite-appservice:${TAG}
|
||||
docker push matrixdotorg/dendrite-clientapi:${TAG}
|
||||
docker push matrixdotorg/dendrite-eduserver:${TAG}
|
||||
docker push matrixdotorg/dendrite-federationapi:${TAG}
|
||||
docker push matrixdotorg/dendrite-federationsender:${TAG}
|
||||
docker push matrixdotorg/dendrite-keyserver:${TAG}
|
||||
docker push matrixdotorg/dendrite-mediaapi:${TAG}
|
||||
docker push matrixdotorg/dendrite-roomserver:${TAG}
|
||||
docker push matrixdotorg/dendrite-syncapi:${TAG}
|
||||
docker push matrixdotorg/dendrite-signingkeyserver:${TAG}
|
||||
docker push matrixdotorg/dendrite-userapi:${TAG}
|
||||
|
|
Loading…
Reference in a new issue