* Change API and rename to ExtraPublicRoomsProvider * Make dendritejs work again * Maybe make libp2p demo work again * Linting |
||
|---|---|---|
| .. | ||
| config | ||
| postgres | ||
| DendriteJS.Dockerfile | ||
| docker-compose.deps.yml | ||
| docker-compose.monolith.yml | ||
| docker-compose.polylith.yml | ||
| Dockerfile | ||
| Dockerfile.component | ||
| images-build.sh | ||
| images-pull.sh | ||
| images-push.sh | ||
| README.md | ||
Docker images
These are Docker images for Dendrite!
Dockerfiles
The Dockerfile builds the base image which contains all of the Dendrite
components. The Dockerfile.component file takes the given component, as
specified with --buildarg component= from the base image and produce
smaller component-specific images, which are substantially smaller and do
not contain the Go toolchain etc.
Compose files
There are three sample docker-compose files:
docker-compose.deps.ymlwhich runs the Postgres and Kafka prerequisitesdocker-compose.monolith.ymlwhich runs a monolith Dendrite deploymentdocker-compose.polylith.ymlwhich runs a polylith Dendrite deployment
Configuration
The docker-compose files refer to the /etc/dendrite volume as where the
runtime config should come from. The mounted folder must contain:
dendrite.yamlconfiguration file (based on the sampledendrite-config.yamlin thedocker/configfolder in the Dendrite repositorymatrix_key.pemserver key, as generated usingcmd/generate-keysserver.crtcertificate fileserver.keyprivate key file for the above certificate
To generate keys:
go run github.com/matrix-org/dendrite/cmd/generate-keys \
--private-key=matrix_key.pem \
--tls-cert=server.crt \
--tls-key=server.key
Starting Dendrite
Once in place, start the dependencies:
docker-compose -f docker-compose.deps.yml up
Wait a few seconds for Kafka and Postgres to finish starting up, and then start a monolith:
docker-compose -f docker-compose.monolith.yml up
... or start the polylith components:
docker-compose -f docker-compose.polylith.yml up
Building the images
The docker/images-build.sh script will build the base image, followed by
all of the component images.
The docker/images-push.sh script will push them to Docker Hub (subject
to permissions).
If you wish to build and push your own images, rename matrixdotorg/dendrite to
the name of another Docker Hub repository in images-build.sh and images-push.sh.