2018-08-15 09:19:31 +02:00
# Configuring the Ansible playbook
2018-08-08 09:07:02 +02:00
2019-03-10 16:02:17 +01:00
To configure the playbook, you need to have done the following things:
2018-08-08 09:07:02 +02:00
2019-03-10 16:02:17 +01:00
- have a server where Matrix services will run
- [configured your DNS records ](configuring-dns.md )
- [retrieved the playbook's source code ](getting-the-playbook.md ) to your computer
You can then follow these steps inside the playbook directory:
2018-08-08 09:07:02 +02:00
2021-03-06 19:35:12 +01:00
1. create a directory to hold your configuration (`mkdir inventory/host_vars/matrix.< your-domain > `)
2018-08-08 09:07:02 +02:00
2021-03-06 19:35:12 +01:00
1. copy the sample configuration file (`cp examples/vars.yml inventory/host_vars/matrix.< your-domain > /vars.yml`)
2018-08-08 09:07:02 +02:00
2021-03-06 19:35:12 +01:00
1. edit the configuration file (`inventory/host_vars/matrix.< your-domain > /vars.yml`) to your liking. You may also take a look at the various `roles/ROLE_NAME_HERE/defaults/main.yml` files and see if there's something you'd like to copy over and override in your `vars.yml` configuration file.
2018-08-08 09:07:02 +02:00
2021-03-06 19:35:12 +01:00
1. copy the sample inventory hosts file (`cp examples/hosts inventory/hosts`)
2018-08-08 09:07:02 +02:00
2021-03-06 19:35:12 +01:00
1. edit the inventory hosts file (`inventory/hosts`) to your liking
2018-08-08 09:07:02 +02:00
2022-07-26 15:34:55 +02:00
1. (optional, advanced) to run Ansible against multiple servers with different `sudo` credentials, you can copy the sample inventory hosts yaml file for each of your hosts: (`cp examples/host.yml inventory/my_host1.yml` …) and use the [`ansible-all-hosts.sh` ](../inventory/scripts/ansible-all-hosts.sh ) script [in the installation step ](installing.md ).
2018-08-08 09:07:02 +02:00
For a basic Matrix installation, that's all you need.
For a more custom setup, see the [Other configuration options ](#other-configuration-options ) below.
When you're done with all the configuration you'd like to do, continue with [Installing ](installing.md ).
## Other configuration options
2019-04-19 08:54:18 +02:00
### Additional useful services
2018-11-01 17:21:38 +01:00
2019-04-19 08:54:18 +02:00
- [Setting up the Dimension Integration Manager ](configuring-playbook-dimension.md ) (optional, but recommended; after [installing ](installing.md ))
2018-10-25 17:02:04 +02:00
2020-03-24 17:26:52 +01:00
- [Setting up the Jitsi video-conferencing platform ](configuring-playbook-jitsi.md ) (optional)
2022-10-15 22:17:58 +02:00
- [Setting up Etherpad ](configuring-playbook-etherpad.md ) (optional)
2021-01-26 16:19:28 +01:00
- [Setting up Dynamic DNS ](configuring-playbook-dynamic-dns.md ) (optional)
2019-04-19 08:54:18 +02:00
2021-02-12 13:02:53 +01:00
- [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server ](configuring-playbook-prometheus-grafana.md ) (optional)
2019-04-19 08:54:18 +02:00
### Core service adjustments
2018-08-14 13:11:41 +02:00
2022-10-27 08:48:49 +02:00
- Homeserver configuration:
- [Configuring Synapse ](configuring-playbook-synapse.md ), if you're going with the default/recommended homeserver implementation (optional)
- [Configuring Conduit ](configuring-playbook-conduit.md ), if you've switched to the [Conduit ](https://conduit.rs ) homeserver implementation (optional)
2019-08-22 08:49:22 +02:00
2022-11-20 09:11:21 +01:00
- [Configuring Dendrite ](configuring-playbook-dendrite.md ), if you've switched to the [Dendrite ](https://matrix-org.github.io/dendrite ) homeserver implementation (optional)
2020-07-17 10:31:20 +02:00
- [Configuring Element ](configuring-playbook-client-element.md ) (optional)
2019-08-25 09:37:05 +02:00
2018-08-08 09:10:16 +02:00
- [Storing Matrix media files on Amazon S3 ](configuring-playbook-s3.md ) (optional)
2018-08-08 09:07:02 +02:00
- [Using an external PostgreSQL server ](configuring-playbook-external-postgres.md ) (optional)
2018-12-23 10:00:12 +01:00
- [Adjusting SSL certificate retrieval ](configuring-playbook-ssl-certificates.md ) (optional, advanced)
2019-03-12 21:27:18 +01:00
- [Serving your base domain using this playbook's nginx server ](configuring-playbook-base-domain-serving.md ) (optional)
2023-02-26 15:14:05 +01:00
- [Configure the Traefik reverse-proxy ](configuring-playbook-traefik.md ) (optional, advanced)
2019-04-17 13:42:09 +02:00
2023-02-26 15:14:05 +01:00
- (Deprecated) [Configure the Nginx reverse-proxy ](configuring-playbook-nginx.md ) (optional, advanced)
- [Using your own webserver, instead of this playbook's default reverse-proxy ](configuring-playbook-own-webserver.md ) (optional, advanced)
2018-08-17 08:02:12 +02:00
2019-04-19 08:57:41 +02:00
- [Adjusting TURN server configuration ](configuring-playbook-turn.md ) (optional, advanced)
2019-04-19 08:54:18 +02:00
### Server connectivity
- [Enabling Telemetry for your Matrix server ](configuring-playbook-telemetry.md ) (optional)
- [Controlling Matrix federation ](configuring-playbook-federation.md ) (optional)
- [Adjusting email-sending settings ](configuring-playbook-email.md ) (optional)
2021-05-21 12:50:45 +02:00
- [Setting up Hydrogen ](configuring-playbook-client-hydrogen.md ) - a new lightweight matrix client with legacy and mobile browser support (optional)
2022-03-17 16:58:59 +01:00
2022-01-05 17:33:21 +01:00
- [Setting up Cinny ](configuring-playbook-client-cinny.md ) - a web client focusing primarily on simple, elegant and secure interface (optional)
2021-05-21 12:50:45 +02:00
2019-04-19 08:54:18 +02:00
### Authentication and user-related
2022-03-17 16:58:59 +01:00
- [Setting up an ma1sd Identity Server ](configuring-playbook-ma1sd.md ) (optional)
2020-07-22 07:10:26 +02:00
- [Setting up Synapse Admin ](configuring-playbook-synapse-admin.md ) (optional)
2020-09-01 12:46:05 +02:00
- [Setting up matrix-registration ](configuring-playbook-matrix-registration.md ) (optional)
2018-11-26 06:23:42 +01:00
- [Setting up the REST authentication password provider module ](configuring-playbook-rest-auth.md ) (optional, advanced)
2018-08-20 16:11:55 +02:00
2018-11-26 06:23:42 +01:00
- [Setting up the Shared Secret Auth password provider module ](configuring-playbook-shared-secret-auth.md ) (optional, advanced)
2018-08-21 12:34:34 +02:00
2018-11-28 10:21:03 +01:00
- [Setting up the LDAP password provider module ](configuring-playbook-ldap-auth.md ) (optional, advanced)
2022-09-16 19:15:33 +02:00
- [Setting up the ldap-registration-proxy ](configuring-playbook-matrix-ldap-registration-proxy.md ) (optional, advanced)
2019-09-09 07:13:06 +02:00
- [Setting up Synapse Simple Antispam ](configuring-playbook-synapse-simple-antispam.md ) (optional, advanced)
2018-11-26 06:23:42 +01:00
- [Setting up Matrix Corporal ](configuring-playbook-matrix-corporal.md ) (optional, advanced)
2018-09-07 22:35:04 +02:00
2023-02-10 15:08:55 +01:00
- [Matrix User Verification Service ](configuring-playbook-user-verification-service.md ) (optional, advanced)
2023-02-10 13:26:38 +01:00
2019-04-19 08:54:18 +02:00
### Bridging other networks
2022-07-22 16:55:44 +02:00
- [Setting up Mautrix Discord bridging ](configuring-playbook-bridge-mautrix-discord.md ) (optional)
2018-10-26 18:44:58 +02:00
- [Setting up Mautrix Telegram bridging ](configuring-playbook-bridge-mautrix-telegram.md ) (optional)
2023-01-11 09:38:54 +01:00
- [Setting up Mautrix Slack bridging ](configuring-playbook-bridge-mautrix-slack.md ) (optional)
2018-11-04 00:30:17 +01:00
- [Setting up Mautrix Whatsapp bridging ](configuring-playbook-bridge-mautrix-whatsapp.md ) (optional)
2019-01-31 06:37:23 +01:00
2019-05-08 16:33:09 +02:00
- [Setting up Mautrix Facebook bridging ](configuring-playbook-bridge-mautrix-facebook.md ) (optional)
2019-08-21 06:24:58 +02:00
- [Setting up Mautrix Hangouts bridging ](configuring-playbook-bridge-mautrix-hangouts.md ) (optional)
2021-10-12 13:45:04 +02:00
- [Setting up Mautrix Google Chat bridging ](configuring-playbook-bridge-mautrix-googlechat.md ) (optional)
2021-02-19 19:37:36 +01:00
- [Setting up Mautrix Instagram bridging ](configuring-playbook-bridge-mautrix-instagram.md ) (optional)
2021-04-11 08:45:27 +02:00
- [Setting up Mautrix Twitter bridging ](configuring-playbook-bridge-mautrix-twitter.md ) (optional)
2020-10-25 18:44:19 +01:00
- [Setting up Mautrix Signal bridging ](configuring-playbook-bridge-mautrix-signal.md ) (optional)
2019-01-31 06:37:23 +01:00
- [Setting up Appservice IRC bridging ](configuring-playbook-bridge-appservice-irc.md ) (optional)
2019-03-03 18:22:52 +01:00
- [Setting up Appservice Discord bridging ](configuring-playbook-bridge-appservice-discord.md ) (optional)
2019-06-10 16:52:48 +02:00
- [Setting up Appservice Slack bridging ](configuring-playbook-bridge-appservice-slack.md ) (optional)
2019-08-21 06:34:20 +02:00
2020-01-14 15:02:37 +01:00
- [Setting up Appservice Webhooks bridging ](configuring-playbook-bridge-appservice-webhooks.md ) (optional)
2022-07-25 13:34:21 +02:00
- [Setting up Appservice Kakaotalk bridging ](configuring-playbook-bridge-appservice-kakaotalk.md ) (optional)
- [Setting up Beeper LinkedIn bridging ](configuring-playbook-bridge-beeper-linkedin.md ) (optional)
2022-02-01 13:07:43 +01:00
- [Setting up matrix-hookshot ](configuring-playbook-bridge-hookshot.md ) - a bridge between Matrix and multiple project management services, such as [GitHub ](https://github.com ), [GitLab ](https://about.gitlab.com ) and [JIRA ](https://www.atlassian.com/software/jira ). (optional)
2022-07-15 18:49:47 +02:00
- ~~[Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md)~~ (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 ](configuring-playbook-bridge-go-skype-bridge.md )
2020-04-09 08:33:30 +02:00
2020-04-23 17:03:36 +02:00
- [Setting up MX Puppet Slack bridging ](configuring-playbook-bridge-mx-puppet-slack.md ) (optional)
2020-06-30 16:51:56 +02:00
- [Setting up MX Puppet Instagram bridging ](configuring-playbook-bridge-mx-puppet-instagram.md ) (optional)
- [Setting up MX Puppet Twitter bridging ](configuring-playbook-bridge-mx-puppet-twitter.md ) (optional)
2020-07-01 18:01:14 +02:00
- [Setting up MX Puppet Discord bridging ](configuring-playbook-bridge-mx-puppet-discord.md ) (optional)
2021-02-13 16:55:54 +01:00
- [Setting up MX Puppet GroupMe bridging ](configuring-playbook-bridge-mx-puppet-groupme.md ) (optional)
2020-07-03 11:10:57 +02:00
- [Setting up MX Puppet Steam bridging ](configuring-playbook-bridge-mx-puppet-steam.md ) (optional)
2022-06-12 23:29:43 +02:00
- [Setting up Go Skype Bridge bridging ](configuring-playbook-bridge-go-skype-bridge.md ) (optional)
2019-08-05 12:06:49 +02:00
- [Setting up Email2Matrix ](configuring-playbook-email2matrix.md ) (optional)
2020-05-23 13:14:24 +02:00
2022-08-23 13:16:07 +02:00
- [Setting up Postmoogle email bridging ](configuring-playbook-bot-postmoogle.md ) (optional)
2020-09-01 12:47:58 +02:00
- [Setting up Matrix SMS bridging ](configuring-playbook-bridge-matrix-bridge-sms.md ) (optional)
2020-07-20 13:13:08 +02:00
2021-05-12 14:24:39 +02:00
- [Setting up Heisenbridge bouncer-style IRC bridging ](configuring-playbook-bridge-heisenbridge.md ) (optional)
2020-07-20 13:13:08 +02:00
### Bots
2023-01-10 16:31:21 +01:00
- [Setting up matrix-bot-chatgpt ](configuring-playbook-bot-chatgpt.md ) - a bot through which you can talk to the [ChatGPT ](https://openai.com/blog/chatgpt/ ) model(optional)
2023-01-10 16:22:54 +01:00
2021-04-03 09:52:35 +02:00
- [Setting up matrix-reminder-bot ](configuring-playbook-bot-matrix-reminder-bot.md ) - a bot to remind you about stuff (optional)
2021-03-16 06:54:26 +01:00
2022-04-25 09:37:35 +02:00
- [Setting up matrix-registration-bot ](configuring-playbook-bot-matrix-registration-bot.md ) - a bot to create and manage registration tokens to invite users (optional)
2022-07-11 13:28:23 +02:00
- [Setting up maubot ](configuring-playbook-bot-maubot.md ) - a plugin-based Matrix bot system (optional)
2022-01-06 19:30:10 +01:00
- [Setting up honoroit ](configuring-playbook-bot-honoroit.md ) - a helpdesk bot (optional)
2021-04-03 09:52:35 +02:00
- [Setting up Go-NEB ](configuring-playbook-bot-go-neb.md ) - an extensible multifunctional bot (optional)
- [Setting up Mjolnir ](configuring-playbook-bot-mjolnir.md ) - a moderation tool/bot (optional)
2021-03-20 12:31:34 +01:00
2023-02-10 13:26:38 +01:00
- [Setting up Draupnir ](configuring-playbook-bot-draupnir.md ) - a moderation tool/bot, forked from Mjolnir and maintained by its former leader developer (optional)
2023-02-10 10:52:25 +01:00
2022-04-25 09:37:35 +02:00
- [Setting up Buscarron ](configuring-playbook-bot-buscarron.md ) - a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room (optional)
2021-03-20 12:31:34 +01:00
2022-04-19 18:29:41 +02:00
### Backups
- [Setting up borg backup ](configuring-playbook-backup-borg.md ) - a full Matrix server backup solution, including the Postgres database (optional)
- [Setting up postgres backup ](configuring-playbook-postgres-backup.md ) - a Postgres-database backup solution (note: does not include other files) (optional)
2021-03-20 12:31:34 +01:00
### Other specialized services
2023-03-12 09:55:08 +01:00
- [Setting up synapse-auto-compressor ](configuring-playbook-synapse-auto-compressor.md ) for compressing the database on Synapse homeservers (optional)
2023-03-07 11:22:04 +01:00
- [Setting up the Sliding Sync Proxy ](configuring-playbook-sliding-sync-proxy.md ) for clients which require Sliding Sync support (like Element X) (optional)
2021-03-20 12:31:34 +01:00
- [Setting up the Sygnal push gateway ](configuring-playbook-sygnal.md ) (optional)
2022-06-27 23:20:02 +02:00
- [Setting up the ntfy push notifications server ](configuring-playbook-ntfy.md ) (optional)
2022-09-16 19:15:33 +02:00
2022-09-09 13:37:52 +02:00
- [Setting up a Cactus Comments server ](configuring-playbook-cactus-comments.md ) - a federated comment system built on Matrix (optional)
2023-02-25 13:00:42 +01:00
- [Setting up the Rageshake bug report server ](configuring-playbook-rageshake.md ) (optional)