2018-08-15 09:19:31 +02:00
# Configuring the Ansible playbook
2018-08-08 09:07:02 +02:00
2019-03-10 17:02:17 +02:00
To configure the playbook, you need to have done the following things:
2018-08-08 09:07:02 +02:00
2019-03-10 17:02:17 +02: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
2024-02-04 19:31:32 +02:00
1. create a directory to hold your configuration (`mkdir -p inventory/host_vars/matrix.< your-domain > `)
2018-08-08 09:07:02 +02:00
2021-03-06 20:35:12 +02: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
2023-04-27 07:12:09 +02: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 20:35:12 +02:00
1. copy the sample inventory hosts file (`cp examples/hosts inventory/hosts`)
2018-08-08 09:07:02 +02:00
2021-03-06 20:35:12 +02:00
1. edit the inventory hosts file (`inventory/hosts`) to your liking
2018-08-08 09:07:02 +02:00
2024-01-09 19:08:43 +02:00
2. (optional, advanced) you may wish to keep your `inventory` directory under version control with [git ](https://git-scm.com/ ) or any other version-control system.
3. (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` ](../bin/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 18:21:38 +02:00
2023-08-16 08:17:32 +02:00
- [Setting up the Dimension Integration Manager ](configuring-playbook-dimension.md ) (optional; [unmaintained ](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299 ); after [installing ](installing.md ))
2018-10-25 17:02:04 +02:00
2020-03-24 18:26:52 +02: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 17:19:28 +02:00
- [Setting up Dynamic DNS ](configuring-playbook-dynamic-dns.md ) (optional)
2019-04-19 08:54:18 +02:00
2021-02-12 14:02:53 +02: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 10:11:21 +02: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
2023-07-17 21:37:53 +02:00
- [Storing Matrix media files using matrix-media-repo ](configuring-playbook-matrix-media-repo.md ) (optional)
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 11:00:12 +02:00
- [Adjusting SSL certificate retrieval ](configuring-playbook-ssl-certificates.md ) (optional, advanced)
2019-03-12 22:27:18 +02:00
- [Serving your base domain using this playbook's nginx server ](configuring-playbook-base-domain-serving.md ) (optional)
2023-02-26 16:14:05 +02:00
- [Configure the Traefik reverse-proxy ](configuring-playbook-traefik.md ) (optional, advanced)
2019-04-17 13:42:09 +02:00
2023-02-26 16:14:05 +02:00
- [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 17:58:59 +02:00
2022-01-05 18:33:21 +02: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
2023-08-31 12:42:34 +02:00
- [Setting up SchildiChat ](configuring-playbook-client-schildichat.md ) - a web client based on [Element ](https://element.io/ ) with some extras and tweaks (optional)
2019-04-19 08:54:18 +02:00
### Authentication and user-related
2022-03-17 17:58:59 +02: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 07:23:42 +02: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 07:23:42 +02: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 11:21:03 +02: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 07:23:42 +02:00
- [Setting up Matrix Corporal ](configuring-playbook-matrix-corporal.md ) (optional, advanced)
2018-09-07 22:35:04 +02:00
2023-02-10 16:08:55 +02:00
- [Matrix User Verification Service ](configuring-playbook-user-verification-service.md ) (optional, advanced)
2023-02-10 14:26:38 +02: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 10:38:54 +02:00
- [Setting up Mautrix Slack bridging ](configuring-playbook-bridge-mautrix-slack.md ) (optional)
2023-07-21 13:33:52 +02:00
- [Setting up Mautrix Google Messages bridging ](configuring-playbook-bridge-mautrix-gmessages.md ) (optional)
2018-11-04 01:30:17 +02:00
- [Setting up Mautrix Whatsapp bridging ](configuring-playbook-bridge-mautrix-whatsapp.md ) (optional)
2019-01-31 07:37:23 +02:00
2024-02-19 10:13:36 +02:00
- [Setting up Instagram bridging via Mautrix Meta ](configuring-playbook-bridge-mautrix-meta-instagram.md ) (optional)
- [Setting up Messenger bridging via Mautrix Meta ](configuring-playbook-bridge-mautrix-meta-messenger.md ) (optional)
- ~~[Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md)~~ - consider bridging to Facebook/Messenger using the new [mautrix-meta-messenger ](./configuring-playbook-bridge-mautrix-meta-messenger.md ) bridge (optional)
2019-05-08 16:33:09 +02:00
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)
2024-02-19 10:13:36 +02:00
- ~~[Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md)~~ - consider bridging to Instagram using the new [mautrix-meta-instagram ](./configuring-playbook-bridge-mautrix-meta-instagram.md ) bridge (optional)
2021-02-19 20:37:36 +02:00
2021-04-11 08:45:27 +02:00
- [Setting up Mautrix Twitter bridging ](configuring-playbook-bridge-mautrix-twitter.md ) (optional)
2020-10-25 19:44:19 +02:00
- [Setting up Mautrix Signal bridging ](configuring-playbook-bridge-mautrix-signal.md ) (optional)
2023-08-23 14:11:08 +02:00
- [Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage ](configuring-playbook-bridge-mautrix-wsproxy.md ) (optional)
2019-01-31 07:37:23 +02:00
- [Setting up Appservice IRC bridging ](configuring-playbook-bridge-appservice-irc.md ) (optional)
2019-03-03 19:22:52 +02: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 16:02:37 +02: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 14:07:43 +02: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 17:55:54 +02: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 17:31:21 +02: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 17:22:54 +02: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 07:54:26 +02: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 20:30:10 +02: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 13:31:34 +02:00
2023-02-10 14:26:38 +02: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 11:52:25 +02: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 13:31:34 +02: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 13:31:34 +02:00
### Other specialized services
2023-03-12 10:55:08 +02:00
- [Setting up synapse-auto-compressor ](configuring-playbook-synapse-auto-compressor.md ) for compressing the database on Synapse homeservers (optional)
2023-03-07 12:22:04 +02: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 13:31:34 +02: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 14:00:42 +02:00
- [Setting up the Rageshake bug report server ](configuring-playbook-rageshake.md ) (optional)