Text Content
# create the directories
mkdir -p config postgres media jetstream searchindex
# generate signing key
docker run --rm \
--entrypoint="/usr/bin/generate-keys" \
-v $(pwd)/config:/mnt \
matrixdotorg/dendrite-monolith:latest \
-private-key /mnt/matrix_key.pem
# generate config (adjust password; this assumes `dendrite.local` is your domain name)
docker run --rm \
--entrypoint="/bin/sh" \
-v $(pwd)/config:/mnt \
matrixdotorg/dendrite-monolith:latest \
-c "/usr/bin/generate-config \
-dir /var/dendrite/ \
-db postgres://dendrite:REPLACE_ME@postgres/dendrite?sslmode=disable \
-server dendrite.local > /mnt/dendrite.yaml"
# create the docker network
docker network create proxy_http_network
# run the docker containers
docker compose up --detach
# create the initial admin account
docker compose exec \
dendrite /usr/bin/create-account \
-config /etc/dendrite/dendrite.yaml \
-url http://127.0.0.1:8008 \
-username MY_USERNAME \
-admin
# test with cURL
curl http://localhost:8008/_matrix/client/versions