From 4049c9fee1d79f42d30f7e900d5f5df308026184 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Thu, 21 May 2020 10:09:53 +0100 Subject: [PATCH] Add readme, rename a couple of things --- docker/hub/README.md | 59 ++++++++++++++++++++++++ docker/hub/{build.sh => images-build.sh} | 0 docker/hub/{push.sh => images-push.sh} | 0 3 files changed, 59 insertions(+) create mode 100644 docker/hub/README.md rename docker/hub/{build.sh => images-build.sh} (100%) rename docker/hub/{push.sh => images-push.sh} (100%) diff --git a/docker/hub/README.md b/docker/hub/README.md new file mode 100644 index 000000000..c68ba1889 --- /dev/null +++ b/docker/hub/README.md @@ -0,0 +1,59 @@ +# Docker Hub images + +These are Docker Hub-friendly images for Dendrite. + +## Dockerfiles + +The `Dockerfile` builds the base image which contains all of the Dendrite +components. The `Dockerfile.*` files take components 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.yml` which runs the Postgres and Kafka prerequisites +- `docker-compose.monolith.yml` which runs a monolith Dendrite deployment +- `docker-compose.polylith.yml` which 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.yaml` configuration file (based on the sample `dendrite-config.yaml` + in the `docker/hub/config` folder in the [Dendrite repository](https://github.com/matrix-org/dendrite) +- `matrix_key.pem` server key, as generated using `cmd/generate-keys` +- `server.crt` certificate file +- `server.key` private key file for the above certificate + +## 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/hub/images-build.sh` script will build all of the component images. + +The `docker/hub/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`. diff --git a/docker/hub/build.sh b/docker/hub/images-build.sh similarity index 100% rename from docker/hub/build.sh rename to docker/hub/images-build.sh diff --git a/docker/hub/push.sh b/docker/hub/images-push.sh similarity index 100% rename from docker/hub/push.sh rename to docker/hub/images-push.sh