11 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Configuring the Ansible playbook
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.ymlfiles and see if there's something you'd like to copy over and override in yourvars.ymlconfiguration file.
- 
copy the sample inventory hosts file ( cp examples/hosts inventory/hosts)
- 
edit the inventory hosts file ( inventory/hosts) to your liking
- 
(optional, advanced) to run Ansible against multiple servers with different sudocredentials, you can copy the sample inventory hosts yaml file for each of your hosts: (cp examples/host.yml inventory/my_host1.yml…) and use theansible-all-hosts.shscript in the installation step.
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.
Other configuration options
Additional useful services
- 
Setting up the Dimension Integration Manager (optional, but recommended; after installing) 
- 
Setting up Etherpad (optional) 
- 
Setting up Dynamic DNS (optional) 
- 
Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server (optional) 
Core service adjustments
- 
Homeserver configuration: - 
Configuring Synapse, if you're going with the default/recommended homeserver implementation (optional) 
- 
Configuring Conduit, if you've switched to the Conduit homeserver implementation (optional) 
- 
Configuring Dendrite, if you've switched to the Dendrite homeserver implementation (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 the Traefik reverse-proxy (optional, advanced) 
- 
(Deprecated) Configure the Nginx reverse-proxy (optional, advanced) 
- 
Using your own webserver, instead of this playbook's default reverse-proxy (optional, advanced) 
- 
Adjusting TURN server configuration (optional, advanced) 
Server connectivity
- 
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 Cinny - a web client focusing primarily on simple, elegant and secure interface (optional) 
Authentication and user-related
- 
Setting up an ma1sd Identity Server (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 the ldap-registration-proxy (optional, advanced) 
- 
Setting up Synapse Simple Antispam (optional, advanced) 
- 
Setting up Matrix Corporal (optional, advanced) 
- 
Matrix User Verification Service (optional, advanced) 
Bridging other networks
- 
Setting up Mautrix Discord bridging (optional) 
- 
Setting up Mautrix Telegram bridging (optional) 
- 
Setting up Mautrix Slack bridging (optional) 
- 
Setting up Mautrix Whatsapp bridging (optional) 
- 
Setting up Mautrix Facebook bridging (optional) 
- 
Setting up Mautrix Hangouts bridging (optional) 
- 
Setting up Mautrix Google Chat bridging (optional) 
- 
Setting up Mautrix Instagram bridging (optional) 
- 
Setting up Mautrix Twitter 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 Appservice Kakaotalk bridging (optional) 
- 
Setting up Beeper LinkedIn bridging (optional) 
- 
Setting up matrix-hookshot - a bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA. (optional) 
- 
Setting up MX Puppet Skype bridging(optional) - this component has been broken for a long time, so it has been removed from the playbook. Consider Setting up Go Skype Bridge bridging
- 
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 Go Skype Bridge bridging (optional) 
- 
Setting up Email2Matrix (optional) 
- 
Setting up Postmoogle email bridging (optional) 
- 
Setting up Matrix SMS bridging (optional) 
- 
Setting up Heisenbridge bouncer-style IRC bridging (optional) 
Bots
- 
Setting up matrix-bot-chatgpt - a bot through which you can talk to the ChatGPT model(optional) 
- 
Setting up matrix-reminder-bot - a bot to remind you about stuff (optional) 
- 
Setting up matrix-registration-bot - a bot to create and manage registration tokens to invite users (optional) 
- 
Setting up maubot - a plugin-based Matrix bot system (optional) 
- 
Setting up honoroit - a helpdesk bot (optional) 
- 
Setting up Go-NEB - an extensible multifunctional bot (optional) 
- 
Setting up Mjolnir - a moderation tool/bot (optional) 
- 
Setting up Draupnir - a moderation tool/bot, forked from Mjolnir and maintained by its former leader developer (optional) 
- 
Setting up Buscarron - a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room (optional) 
Backups
- 
Setting up borg backup - a full Matrix server backup solution, including the Postgres database (optional) 
- 
Setting up postgres backup - a Postgres-database backup solution (note: does not include other files) (optional) 
Other specialized services
- 
Setting up synapse-auto-compressor for compressing the database on Synapse homeservers (optional) 
- 
Setting up the Sliding Sync Proxy for clients which require Sliding Sync support (like Element X) (optional) 
- 
Setting up the Sygnal push gateway (optional) 
- 
Setting up a Cactus Comments server - a federated comment system built on Matrix (optional) 
- 
Setting up the Rageshake bug report server (optional)