To configure the playbook, you need to have done the following things:
- have a server where Matrix services will run
- configured your DNS records
- retrieved the playbook's source code to your computer
You can then follow these steps inside the playbook directory:
-
create a directory to hold your configuration (
mkdir inventory/host_vars/matrix.<your-domain>
) -
copy the sample configuration file (
cp examples/vars.yml inventory/host_vars/matrix.<your-domain>/vars.yml
) -
edit the configuration file (
inventory/host_vars/matrix.<your-domain>/vars.yml
) to your liking. You may also take a look at the variousroles/ROLE_NAME_HERE/defaults/main.yml
files and see if there's something you'd like to copy over and override in yourvars.yml
configuration file. -
copy the sample inventory hosts file (
cp examples/hosts inventory/hosts
) -
edit the inventory hosts file (
inventory/hosts
) to your liking
For a basic Matrix installation, that's all you need. For a more custom setup, see the Other configuration options below.
When you're done with all the configuration you'd like to do, continue with Installing.
-
Setting up the Dimension Integration Manager (optional, but recommended; after installing)
-
Setting up Dynamic DNS (optional)
-
Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server (optional)
-
Configuring Synapse (optional)
-
Configuring Element (optional)
-
Storing Matrix media files on Amazon S3 (optional)
-
Using an external PostgreSQL server (optional)
-
Adjusting SSL certificate retrieval (optional, advanced)
-
Serving your base domain using this playbook's nginx server (optional)
-
Configure Nginx (optional, advanced) (optional, advanced)
-
Using your own webserver, instead of this playbook's nginx proxy (optional, advanced)
-
Adjusting TURN server configuration (optional, advanced)
-
Enabling Telemetry for your Matrix server (optional)
-
Controlling Matrix federation (optional)
-
Adjusting email-sending settings (optional)
-
Setting up Hydrogen - a new lightweight matrix client with legacy and mobile browser support (optional)
-
Setting up Synapse Admin (optional)
-
Setting up matrix-registration (optional)
-
Setting up the REST authentication password provider module (optional, advanced)
-
Setting up the Shared Secret Auth password provider module (optional, advanced)
-
Setting up the LDAP password provider module (optional, advanced)
-
Setting up Synapse Simple Antispam (optional, advanced)
-
Setting up Matrix Corporal (optional, advanced)
-
Setting up Mautrix Telegram bridging (optional)
-
Setting up Mautrix Whatsapp bridging (optional)
-
Setting up Mautrix Facebook bridging (optional)
-
Setting up Mautrix Hangouts bridging (optional)
-
Setting up Mautrix Instagram bridging (optional)
-
Setting up Mautrix Signal bridging (optional)
-
Setting up Appservice IRC bridging (optional)
-
Setting up Appservice Discord bridging (optional)
-
Setting up Appservice Slack bridging (optional)
-
Setting up Appservice Webhooks bridging (optional)
-
Setting up MX Puppet Skype bridging (optional)
-
Setting up MX Puppet Slack bridging (optional)
-
Setting up MX Puppet Instagram bridging (optional)
-
Setting up MX Puppet Twitter bridging (optional)
-
Setting up MX Puppet Discord bridging (optional)
-
Setting up MX Puppet GroupMe bridging (optional)
-
Setting up MX Puppet Steam bridging (optional)
-
Setting up Email2Matrix (optional)
-
Setting up Matrix SMS bridging (optional)
-
Setting up Heisenbridge bouncer-style IRC bridging (optional)
-
Setting up matrix-reminder-bot - a bot to remind you about stuff (optional)
-
Setting up Go-NEB - an extensible multifunctional bot (optional)
-
Setting up Mjolnir - a moderation tool/bot (optional)
- Setting up the Sygnal push gateway (optional)