mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-24 07:13:09 -06:00
Update Docker, INSTALL.md
This commit is contained in:
parent
374c11a718
commit
705339d098
|
|
@ -1,4 +1,4 @@
|
|||
FROM docker.io/golang:1.13.7-alpine3.11 AS builder
|
||||
FROM docker.io/golang:1.15-alpine AS builder
|
||||
|
||||
RUN apk --update --no-cache add bash build-base
|
||||
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ FROM matrixdotorg/dendrite:latest AS base
|
|||
FROM alpine:latest
|
||||
|
||||
ARG component=monolith
|
||||
ENV entrypoint=${component}
|
||||
|
||||
COPY --from=base /build/bin/${component} /usr/bin
|
||||
COPY --from=base /build/bin/dendrite-monolith-server /usr/bin
|
||||
COPY --from=base /build/bin/goose /usr/bin
|
||||
COPY --from=base /build/bin/create-account /usr/bin
|
||||
|
||||
VOLUME /etc/dendrite
|
||||
WORKDIR /etc/dendrite
|
||||
|
||||
ENTRYPOINT /usr/bin/${entrypoint} $@
|
||||
ENTRYPOINT /usr/bin/dendrite-monolith-server $@
|
||||
14
build/docker/Dockerfile.polylith
Normal file
14
build/docker/Dockerfile.polylith
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
FROM matrixdotorg/dendrite:latest AS base
|
||||
|
||||
FROM alpine:latest
|
||||
|
||||
ARG component
|
||||
|
||||
COPY --from=base /build/bin/dendrite-polylith-multi /usr/bin
|
||||
COPY --from=base /build/bin/goose /usr/bin
|
||||
COPY --from=base /build/bin/create-account /usr/bin
|
||||
|
||||
VOLUME /etc/dendrite
|
||||
WORKDIR /etc/dendrite
|
||||
|
||||
ENTRYPOINT /usr/bin/dendrite-polylith-multi $@
|
||||
|
|
@ -4,7 +4,6 @@ services:
|
|||
hostname: monolith
|
||||
image: matrixdotorg/dendrite-monolith:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml",
|
||||
"--tls-cert=server.crt",
|
||||
"--tls-key=server.key"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -2,10 +2,8 @@ version: "3.4"
|
|||
services:
|
||||
client_api:
|
||||
hostname: client_api
|
||||
image: matrixdotorg/dendrite-clientapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: clientapi
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
- room_server
|
||||
|
|
@ -14,10 +12,8 @@ services:
|
|||
|
||||
media_api:
|
||||
hostname: media_api
|
||||
image: matrixdotorg/dendrite-mediaapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: mediaapi
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -25,10 +21,8 @@ services:
|
|||
|
||||
sync_api:
|
||||
hostname: sync_api
|
||||
image: matrixdotorg/dendrite-syncapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: syncapi
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -36,10 +30,8 @@ services:
|
|||
|
||||
room_server:
|
||||
hostname: room_server
|
||||
image: matrixdotorg/dendrite-roomserver:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: roomserver
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -47,10 +39,8 @@ services:
|
|||
|
||||
edu_server:
|
||||
hostname: edu_server
|
||||
image: matrixdotorg/dendrite-eduserver:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: eduserver
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -58,10 +48,8 @@ services:
|
|||
|
||||
federation_api:
|
||||
hostname: federation_api
|
||||
image: matrixdotorg/dendrite-federationapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: federationapi
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -69,10 +57,8 @@ services:
|
|||
|
||||
federation_sender:
|
||||
hostname: federation_sender
|
||||
image: matrixdotorg/dendrite-federationsender:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: federationsender
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -80,10 +66,8 @@ services:
|
|||
|
||||
key_server:
|
||||
hostname: key_server
|
||||
image: matrixdotorg/dendrite-keyserver:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: keyserver
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -91,10 +75,8 @@ services:
|
|||
|
||||
signing_key_server:
|
||||
hostname: signing_key_server
|
||||
image: matrixdotorg/dendrite-signingkeyserver:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: signingkeyserver
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -102,10 +84,8 @@ services:
|
|||
|
||||
user_api:
|
||||
hostname: user_api
|
||||
image: matrixdotorg/dendrite-userapi:latest
|
||||
command: [
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: userapi
|
||||
volumes:
|
||||
- ./config:/etc/dendrite
|
||||
networks:
|
||||
|
|
@ -113,8 +93,9 @@ services:
|
|||
|
||||
appservice_api:
|
||||
hostname: appservice_api
|
||||
image: matrixdotorg/dendrite-appservice:latest
|
||||
image: matrixdotorg/dendrite-polylith:latest
|
||||
command: [
|
||||
"appservice",
|
||||
"--config=dendrite.yaml"
|
||||
]
|
||||
volumes:
|
||||
|
|
|
|||
|
|
@ -8,16 +8,5 @@ echo "Building tag '${TAG}'"
|
|||
|
||||
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 .
|
||||
docker build -t matrixdotorg/dendrite-monolith:${TAG} -f build/docker/Dockerfile.monolith .
|
||||
docker build -t matrixdotorg/dendrite-polylith:${TAG} -f build/docker/Dockerfile.polylith .
|
||||
|
|
@ -5,15 +5,4 @@ TAG=${1:-latest}
|
|||
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}
|
||||
docker pull matrixdotorg/dendrite-polylith:${TAG}
|
||||
|
|
@ -5,15 +5,4 @@ TAG=${1:-latest}
|
|||
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}
|
||||
docker push matrixdotorg/dendrite-polylith:${TAG}
|
||||
|
|
@ -189,7 +189,7 @@ This is what implements CS API endpoints. Clients talk to this via the proxy in
|
|||
order to send messages, create and join rooms, etc.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-client-api-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml clientapi
|
||||
```
|
||||
|
||||
### Sync server
|
||||
|
|
@ -198,7 +198,7 @@ This is what implements `/sync` requests. Clients talk to this via the proxy
|
|||
in order to receive messages.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-sync-api-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml syncapi
|
||||
```
|
||||
|
||||
### Media server
|
||||
|
|
@ -207,7 +207,7 @@ This implements `/media` requests. Clients talk to this via the proxy in
|
|||
order to upload and retrieve media.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-media-api-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml mediaapi
|
||||
```
|
||||
|
||||
### Federation API server
|
||||
|
|
@ -217,7 +217,7 @@ order to send transactions. This is only required if you want to support
|
|||
federation.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-federation-api-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml federationapi
|
||||
```
|
||||
|
||||
### Internal components
|
||||
|
|
@ -230,7 +230,7 @@ contacted by other components. This includes the following components.
|
|||
This is what implements the room DAG. Clients do not talk to this.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-room-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml roomserver
|
||||
```
|
||||
|
||||
#### Federation sender
|
||||
|
|
@ -239,7 +239,7 @@ This sends events from our users to other servers. This is only required if
|
|||
you want to support federation.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-federation-sender-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml federationsender
|
||||
```
|
||||
|
||||
#### Appservice server
|
||||
|
|
@ -250,7 +250,7 @@ running locally. This is only required if you want to support running
|
|||
application services on your homeserver.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-appservice-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml appservice
|
||||
```
|
||||
|
||||
#### Key server
|
||||
|
|
@ -258,7 +258,7 @@ application services on your homeserver.
|
|||
This manages end-to-end encryption keys for users.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-key-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml keyserver
|
||||
```
|
||||
|
||||
#### Signing key server
|
||||
|
|
@ -266,7 +266,7 @@ This manages end-to-end encryption keys for users.
|
|||
This manages signing keys for servers.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-signing-key-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml signingkeyserver
|
||||
```
|
||||
|
||||
#### EDU server
|
||||
|
|
@ -274,7 +274,7 @@ This manages signing keys for servers.
|
|||
This manages processing EDUs such as typing, send-to-device events and presence. Clients do not talk to
|
||||
|
||||
```bash
|
||||
./bin/dendrite-edu-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml eduserver
|
||||
```
|
||||
|
||||
#### User server
|
||||
|
|
@ -283,6 +283,6 @@ This manages user accounts, device access tokens and user account data,
|
|||
amongst other things.
|
||||
|
||||
```bash
|
||||
./bin/dendrite-user-api-server --config dendrite.yaml
|
||||
./bin/dendrite-polylith-multi --config=dendrite.yaml userapi
|
||||
```
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue