Open, interoperable, decentralised real-time communication
https://matrix.org
Philipp Rothmann 6041ad6112 | ||
---|---|---|
release | ||
.env.sample | ||
.gitignore | ||
README.md | ||
abra.sh | ||
compose.keycloak.yml | ||
compose.keycloak2.yml | ||
compose.smtp.yml | ||
compose.turn.yml | ||
compose.yml | ||
entrypoint.sh.tmpl | ||
homeserver.yaml.tmpl | ||
log.config.tmpl |
README.md
Matrix (Synapse)
- Category: Apps
- Status: 0, work-in-progress
- Image:
matrixdotorg/synapse
, 4, upstream - Healthcheck: Yes
- Backups: No
- Email: Yes
- Tests: No
- SSO: Yes
Basic usage
- Set up Docker Swarm and
abra
- Deploy
coop-cloud/traefik
abra app new matrix-synapse --secrets
(optionally with--pass
if you'd like to save secrets inpass
)abra app YOURAPPDOMAIN config
- be sure to change$DOMAIN
to something that resolves to your Docker swarm boxabra app YOURAPPDOMAIN deploy
- Create an initial user:
abra app YOURAPPDOMAIN run app register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008
Tips & Tricks
Disabling federation
We're not sure this does it exactly and there is still a discussion running upstrem about whether this is the right way to do it & whether it could be more convenient. We welcome issues / change sets to close up more federation functionality.
- use
DISABLE_FEDERATION=1
to turn off federation listeners - don't use
compose.matrix.yml
in your traefik config to keep the federation ports closed
Enabling federation
See #27
for more.
Depending on your setup, using SERVE_SERVER_WELLKNOWN=true
might work to start federating.
Seeing what changed in homeserver.yaml
between versions
Change the version range to suit your needs.
git clone https://github.com/matrix-org/synapse
cd synapse/docs
git log --follow -p v1.48.0..v1.51.0 sample_config.yaml
Generating a new homeserver.yaml
The default is also available to see here.
docker run -it \
--entrypoint="" \
-e SYNAPSE_SERVER_NAME=foo.com \
-e SYNAPSE_REPORT_STATS=no \
matrixdotorg/synapse:v1.48.0 \
sh -c '/start.py generate; cat /data/homeserver.yaml' > homeserver.yaml.tmpl`
Generating a new <server>.log.config
docker run -it \
--entrypoint="" \
-e SYNAPSE_SERVER_NAME=foo.com \
-e SYNAPSE_REPORT_STATS=no \
matrixdotorg/synapse:v1.48.0 \
sh -c '/start.py generate; cat /data/foo.com.log.config' > log.config
Getting client discovery on a custom domain
You'll need to deploy something like this.
This could be implemented in this recipe but we haven't merged it in yet. Chang sets are welcome.