rewrite readme

This commit is contained in:
Matthew Hodgson
2024-11-08 20:24:10 +00:00
parent 485a2cf5fd
commit 94de667e98

View File

@@ -1,15 +1,31 @@
# element-docker-demo # element-docker-demo
WIP of a docker-compose Matrix 2.0 stack to show off EW + EC + EX + Synapse + MAS + livekit. element-docker-demo is a minimal example of how to rapidly stand up a Matrix 2.0 stack using Docker, featuring:
Not remotely intended for serious production usage, but just to be the simplest possible way to get a * Element Web
hacker-friendly Matrix 2.0 stack up and running without requiring any k8s. * Element Call
* Synapse
* Matrix Authentication Service
* LiveKit
* Postgres
* nginx + letsencrypt / mkcert for TLS.
In future, ESS will support migrating from this (which should be trivial, in terms of copying the env vars and secrets This is **not** intended for serious production usage, but instead as a tool for curious sysadmins to easily experiment
into their ESS counterparts, and rehoming the postgres). with Matrix 2.0 in a simple docker compose environment. As of Nov 2024, it's considered beta.
In particular, this has:
* No support or maintenance guarantees whatsoever
* No high availability, horizontal scalability, elastic scaling, clustering, backup etc.
* No admin interface
* No UDP traffic or TURN for LiveKit (all traffic is tunnelled over TCP for simplicity)
* No integration manager, integrations, or identity lookup server
For production-grade Matrix from Element, please see https://element.io/server-suite (ESS).
## To run ## To run
Install [Docker Compose](https://docs.docker.com/compose/install/). Then:
``` ```
./setup.sh ./setup.sh
docker compose up docker compose up
@@ -17,6 +33,15 @@ docker compose up
![Screenshot 2024-11-04 at 03 05 28](https://github.com/user-attachments/assets/c3127f3c-ae0c-43cb-bfe9-88f4be56e0af) ![Screenshot 2024-11-04 at 03 05 28](https://github.com/user-attachments/assets/c3127f3c-ae0c-43cb-bfe9-88f4be56e0af)
## To configure
Check the .env file, or customise the templates in `/data-templates` and then `docker compose down && docker compose up -d`.
In particular, you may wish to:
* Point at your own SMTP server rather than mailhog
* Use your own reverse proxy rather than the provided nginx
* Use your own database cluster
## To admin ## To admin
``` ```
@@ -24,23 +49,9 @@ docker compose up
docker compose exec mas mas-cli -c /data/config.yaml manage register-user docker compose exec mas mas-cli -c /data/config.yaml manage register-user
``` ```
```
# if you change the OIDC clients in MAS:
docker compose exec mas mas-cli -c /data/config.yaml config sync --prune
```
## Diagnostics ## Diagnostics
``` ```
# check that OIDC is working - useful for debugging TLS problems # check that OIDC is working - useful for debugging TLS problems
docker compose exec mas mas-cli -c /data/config.yaml doctor docker compose exec mas mas-cli -c /data/config.yaml doctor
```` ````
## Todo
* [x] sort out the networking
* [x] make nginx do something useful when running on a local workstation
* [x] hook up letsencrypt to nginx properly
* [x] hook up livekit properly
* [x] make it work