forked from Fediversity/Fediversity
75 lines
2.1 KiB
Markdown
75 lines
2.1 KiB
Markdown
---
|
|
gitea: none
|
|
include_toc: true
|
|
---
|
|
|
|
# A complete Matrix installation
|
|
|
|
This is going to be a Matrix installation with all bells and whistles. Not
|
|
just the server, but every other bit that you need or want.
|
|
|
|
We're building it with workers, so it will scale.
|
|
|
|
## Overview
|
|
|
|
A complete Matrix environment consists of many parts. Other than the Matrix
|
|
server itself (Synapse) there are all kinds of other things that we need:
|
|
|
|
* [Synapse](https://element-hq.github.io/synapse/latest/)
|
|
* Webclient ([Element Web](https://github.com/element-hq/element-web))
|
|
* [Element Call](https://github.com/element-hq/element-call) for audio/video
|
|
conferencing
|
|
* Management with [Synapse-Admin](https://github.com/Awesome-Technologies/synapse-admin)
|
|
* Moderation with [Draupnir](https://github.com/the-draupnir-project/Draupnir)
|
|
* [Consent
|
|
tracking](https://element-hq.github.io/synapse/latest/consent_tracking.html)
|
|
* Authentication via
|
|
[OpenID](https://element-hq.github.io/synapse/latest/openid.html)
|
|
* Several [bridges](https://matrix.org/ecosystem/bridges/)
|
|
|
|
|
|
# Synapse
|
|
|
|
This is the core component: the Matrix server itself.
|
|
|
|
Installation and configuration is documented under [synapse](synapse).
|
|
|
|
|
|
# nginx
|
|
|
|
We need a webserver for several things, see how to [configure nginx](nginx)
|
|
here.
|
|
|
|
|
|
# Element Call
|
|
|
|
Element Call is the new way to have audio and video conferences, both
|
|
one-on-one and with groups. This does not use Jitsi and keeps E2EE intact. See
|
|
how to [setup and configure it](element-call).
|
|
|
|
|
|
# Element Web
|
|
|
|
This is the fully-fledged web client, which is very [easy to set
|
|
up](element-call).
|
|
|
|
|
|
# TURN
|
|
|
|
We may need a TURN server, and we'll use
|
|
[coturn](coturn) for that.
|
|
|
|
It's apparently also possible to use the built-in TURN server in Livekit,
|
|
which we'll use if we use [Element Call](call). It's either/or, so make sure
|
|
you pick the right approach.
|
|
|
|
You could possibly use both coturn and LiveKit, if you insist on being able to
|
|
use both legacy and Element Call functionality. This is not documented here
|
|
yet.
|
|
|
|
|
|
# Draupnir
|
|
|
|
With Draupnir you can do moderation. It requires a few changes to both Synapse
|
|
and nginx, here's how to [install and configure Draupnir](draupnir).
|