Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synapse workers #456

Merged
merged 88 commits into from
Feb 19, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
353bc7c
Add initial support for synapse workers
eMPee584 Apr 10, 2020
a14b9c0
Add to synapse nginx template conditional URL rewrites for workers
eMPee584 Apr 11, 2020
cf452fd
Fix corner-cases found through testing (aka ansible is nuts)
eMPee584 Apr 19, 2020
66a4073
Publish synapse worker ports, need to be accessible to nginx
eMPee584 Apr 19, 2020
e4763c2
nginx config: route traffic to workers on matrix-synapse
eMPee584 Apr 19, 2020
5f63d28
Move synapse worker ports up 10k
eMPee584 Apr 19, 2020
765c046
add missing ; to matrix-synapse.conf.j2
JohannesKleine Apr 19, 2020
46984a4
Nginx conf: more testing less b0rk
eMPee584 Apr 19, 2020
567d031
Merge branch 'synapse-workers' into feature/add-worker-support
maxklenk Aug 27, 2020
59d1fb7
only apply worker redirects if workers are enabled
maxklenk Aug 27, 2020
53ccc78
remove duplicated key
maxklenk Aug 27, 2020
06bc430
refactor to use new workers and routes they serve
maxklenk Aug 28, 2020
a25a429
add redis support
maxklenk Sep 10, 2020
9a3d84b
Merge branch 'master' into feature/add-worker-support
maxklenk Sep 10, 2020
4fdfc0a
add missing ratelimiting options required for load testing
maxklenk Sep 11, 2020
8800253
fix redis config if no password is set
maxklenk Sep 11, 2020
1e68d8b
allow to pass arguments to the postgres process
maxklenk Sep 11, 2020
132daba
fix worker routes
maxklenk Sep 18, 2020
fc2edcb
fix media routing
maxklenk Sep 18, 2020
93a8ea7
Merge remote-tracking branch 'master' into feature/add-worker-support
eMPee584 Oct 11, 2020
40024e9
Prevent workers failing if their config doesn't exist
eMPee584 Sep 29, 2020
e9241f5
Improve synapse-workers systemd service template
eMPee584 Oct 11, 2020
36e9be6
matrix_synapse_workers_{avail,enabled}_list: sort non-generic workers
eMPee584 Oct 11, 2020
d2e61af
Add worker_name to synapse worker config template
eMPee584 Sep 9, 2020
501efee
synapse workers: supply systemd with actual worker PIDs (requires jq)
eMPee584 Oct 22, 2020
a4125d5
synapse workers: polishing, cleansing and installation of jq dependency
eMPee584 Oct 23, 2020
87bd64c
Merge remote-tracking branch 'origin/master' into synapse-workers
eMPee584 Oct 23, 2020
2d1b9f2
synapse workers: reworkings + get endpoints from upstream docs via awk
eMPee584 Oct 28, 2020
e078e29
synapse workers: fix self name in workers-doc-to-yaml.awk script
eMPee584 Oct 28, 2020
cce90b1
synapse workers: fix undefined variable cases when removing workers
eMPee584 Oct 28, 2020
e5072c2
synapse workers/nginx: handle media_repository worker endpoints on fe…
eMPee584 Nov 10, 2020
1e97131
synapse workers: handle auth fallback endpoint on main process only
eMPee584 Nov 10, 2020
b05d298
synapse workers nginx rule: add client_max_body_size on media endpoints
eMPee584 Nov 10, 2020
dd402be
synapse workers: add rudimentary documentation on worker support
eMPee584 Nov 10, 2020
f3d2797
synapse workers: make awk script invocation handle paths with spaces
eMPee584 Nov 10, 2020
5598a89
synapse workers doc: link to relevant synapse issue list search
eMPee584 Nov 10, 2020
4678c5d
Merge remote-tracking branch 'origin/master' into synapse-workers
eMPee584 Nov 11, 2020
b73ac96
Merge remote-tracking branch 'origin/master' into synapse-workers
eMPee584 Dec 1, 2020
e314613
Add files created by workers-doc-to-yaml.awk to .gitignore
eMPee584 Dec 1, 2020
851c25c
matrix-synapse nginx template: fix invalid jinja comment syntax
eMPee584 Dec 1, 2020
d5932ca
synapse role workers setup: execute the endpoint extraction locally
eMPee584 Dec 1, 2020
414b812
synapse role workers setup: make configs clean action remote compatible
eMPee584 Dec 1, 2020
af08f18
synapse workers default config: disable user_dir worker for now
eMPee584 Dec 1, 2020
f201bca
synapse workers: define and expose METRICS port for each worker
eMPee584 Dec 1, 2020
e892ac4
synapse workers: untangle config template and specify bind address
eMPee584 Dec 1, 2020
3156d96
synapse workers-doc-to-yaml.awk: escape slash for non-gnu awk versions
eMPee584 Dec 1, 2020
b6b95fe
synapse workers-doc-to-yaml script: compatibility++ with non-gnu awk
eMPee584 Dec 2, 2020
cd81005
Merge remote-tracking branch 'origin/master' into synapse-workers
eMPee584 Jan 8, 2021
f2c7d79
Drop probably incorrect comment from synapse homeserver.yaml.j2
eMPee584 Jan 23, 2021
c8f051a
Track workers endpoint list in repo instead of regenerating on user side
eMPee584 Jan 23, 2021
183adec
Merge remote-tracking branch 'origin/master' into synapse-workers
eMPee584 Jan 23, 2021
edc21f1
Restrict publishing worker (metrics) ports to localhost
eMPee584 Jan 24, 2021
92ee3d7
Fix matrix-remove-all for when Synapse workers are enabled
spantaleev Jan 24, 2021
cc5cf0d
Load roles/matrix-synapse/vars/workers.yml earlier to not break --tag…
spantaleev Jan 24, 2021
5ca6821
Do not handle /_matrix/federation on client-server port, nor /_matrix…
spantaleev Jan 24, 2021
f66a6b0
Be more specific with the Redis version being used
spantaleev Jan 24, 2021
63301b0
Improvements around Synapse worker/metrics ports exposure
spantaleev Jan 25, 2021
c05d3d0
Disable systemd services while stopping them
spantaleev Jan 25, 2021
4d62a75
Get matrix-corporal to play nicely with a Synapse worker setup
spantaleev Jan 25, 2021
da50fb2
Whitelist /_matrix/key requests for going to generic workers on the f…
spantaleev Jan 25, 2021
7079670
Run Synapse workers in their own containers
spantaleev Jan 25, 2021
01747c8
Prevent Synapse warning about enabling metric listeners with enable_m…
spantaleev Jan 25, 2021
1462409
Fix worker listening addresses
spantaleev Jan 25, 2021
66cdc7b
Clean up worker.yaml generation a bit and make it more flexible
spantaleev Jan 25, 2021
d3ecc6f
Fix bridges failing to upload media when Synapse workers are enabled
spantaleev Jan 25, 2021
70dcdd4
Simplify matrix-remove-all
spantaleev Jan 25, 2021
778b668
Merge branch 'master' into synapse-workers
spantaleev Jan 25, 2021
a535226
Stop/disable unnecessary worker services before deleting them
spantaleev Jan 25, 2021
a9af368
Merge branch 'master' into synapse-workers
spantaleev Jan 27, 2021
d98a1ce
Merge branch 'master' into synapse-workers
spantaleev Jan 27, 2021
a31c960
Merge branch 'master' into synapse-workers
spantaleev Jan 27, 2021
a49dab7
Merge branch 'master' into synapse-workers
spantaleev Jan 27, 2021
39c2d72
Merge branch 'master' into synapse-workers
spantaleev Jan 27, 2021
1cd2a21
Merge branch 'master' into synapse-workers
spantaleev Jan 27, 2021
e7f3f7c
Enable /devices endpoint for generic workers
spantaleev Jan 27, 2021
5cfeae8
Merge branch 'master' into synapse-workers
spantaleev Feb 14, 2021
453a4ec
Relocate tasks related to Synapse workers
spantaleev Feb 15, 2021
43059bb
Fix metrics listeners for Synapse workers
spantaleev Feb 15, 2021
85a05f3
Allow Synapse worker list to be generated dynamically
spantaleev Feb 15, 2021
61e427d
Do not let people enable more than 1 federation_sender worker
spantaleev Feb 15, 2021
daae74b
Merge branch 'master' into synapse-workers
spantaleev Feb 16, 2021
d33483b
Document that Synapse pusher worker instances are shardable
spantaleev Feb 16, 2021
d6c4d41
Define instanceId property on workers
spantaleev Feb 18, 2021
1789620
Merge branch 'master' into synapse-workers
spantaleev Feb 18, 2021
2f732e4
Update Synapse worker endpoints
spantaleev Feb 19, 2021
eaea215
Allow Synapse workers to be used with an external nginx webserver
spantaleev Feb 19, 2021
9dc87bb
Add Synapse worker presets for easier configuration
spantaleev Feb 19, 2021
b754c27
Announce Synapse workers support
spantaleev Feb 19, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
# 2021-02-19

## Synapse workers support

After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed.

Having support for workers makes the playbook suitable for larger homeserver deployments.

Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 - TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk).

By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup).

To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation.


# 2021-02-12

## (Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana
Expand Down
29 changes: 29 additions & 0 deletions docs/configuring-playbook-synapse.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,35 @@ Alternatively, **if there is no pre-defined variable** for a Synapse setting you
- or, if extending the configuration is still not powerful enough for your needs, you can **override the configuration completely** using `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`). You can find information about this in [`roles/matrix-synapse/defaults/main.yml`](../roles/matrix-synapse/defaults/main.yml).


## Load balancing with workers

To have Synapse gracefully handle thousands of users, worker support should be enabled. It factors out some homeserver tasks and spreads the load of incoming client and server-to-server traffic between multiple processes. More information can be found in the [official Synapse workers documentation](https://github.com/matrix-org/synapse/blob/master/docs/workers.md).

To enable Synapse worker support, update your `inventory/host_vars/matrix.DOMAIN/vars.yml` file:

```yaml
matrix_synapse_workers_enabled: true
```

We support a few configuration presets (`matrix_synapse_workers_preset: one-of-each` being the default configuration):
- `little-federation-helper` - a very minimal worker configuration to improve federation performance
- `one-of-each` - one worker of each supported type

If you'd like more customization power, you can start with one of the presets and tweak various `matrix_synapse_workers_*_count` variables manually.

If you increase worker counts too much, you may need to increase the maximum number of Postgres connections too (example):

```yaml
matrix_postgres_process_extra_arguments: [
"-c 'max_connections=200'"
]
```

If you're using the default setup (the `matrix-nginx-proxy` webserver being enabled) or you're using your own `nginx` server (which imports the configuration files generated by the playbook), you're good to go. If you use some other webserver, you may need to tweak your reverse-proxy setup manually to forward traffic to the various workers.

In case any problems occur, make sure to have a look at the [list of synapse issues about workers](https://github.com/matrix-org/synapse/issues?q=workers+in%3Atitle) and your `journalctl --unit 'matrix-*'`.


## Synapse Admin

Certain Synapse administration tasks (managing users and rooms, etc.) can be performed via a web user-interace, if you install [Synapse Admin](configuring-playbook-synapse-admin.md).
Expand Down
59 changes: 51 additions & 8 deletions group_vars/matrix_servers
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@

matrix_identity_server_url: "{{ ('https://' + matrix_server_fqn_matrix) if matrix_ma1sd_enabled else None }}"

# If Synapse workers are enabled and matrix-nginx-proxy is disabled, certain APIs may not work over 'http://matrix-synapse:8008'.
# This is because we explicitly disable them for the main Synapse process.
matrix_homeserver_container_url: "{{ 'http://matrix-nginx-proxy:12080' if matrix_nginx_proxy_enabled else 'http://matrix-synapse:8008' }}"

######################################################################
#
# /matrix-base
Expand Down Expand Up @@ -283,7 +287,7 @@ matrix_mautrix_signal_systemd_required_services_list: |

matrix_mautrix_signal_homeserver_domain: '{{ matrix_domain }}'

matrix_mautrix_signal_homeserver_address: "{{ 'http://matrix-synapse:8008' if matrix_synapse_enabled else '' }}"
matrix_mautrix_signal_homeserver_address: "{{ matrix_homeserver_container_url }}"

matrix_mautrix_signal_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'si.hs.token') | to_uuid }}"

Expand Down Expand Up @@ -673,7 +677,8 @@ matrix_corporal_systemd_required_services_list: |
(['matrix-synapse.service'])
}}

matrix_corporal_matrix_homeserver_api_endpoint: "http://matrix-synapse:8008"
# This goes to Synapse's vhost
matrix_corporal_matrix_homeserver_api_endpoint: "{{ matrix_homeserver_container_url }}"

matrix_corporal_matrix_auth_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret }}"

Expand Down Expand Up @@ -917,7 +922,7 @@ matrix_ma1sd_synapsesql_connection: //{{ matrix_synapse_database_host }}/{{ matr

matrix_ma1sd_dns_overwrite_enabled: true
matrix_ma1sd_dns_overwrite_homeserver_client_name: "{{ matrix_server_fqn_matrix }}"
matrix_ma1sd_dns_overwrite_homeserver_client_value: "http://{{ 'matrix-corporal:41080' if matrix_corporal_enabled else 'matrix-synapse:8008' }}"
matrix_ma1sd_dns_overwrite_homeserver_client_value: "http://{{ matrix_nginx_proxy_proxy_matrix_client_api_addr_with_container }}"

# By default, we send mail through the `matrix-mailer` service.
matrix_ma1sd_threepid_medium_email_identity_from: "{{ matrix_mailer_sender_address }}"
Expand Down Expand Up @@ -964,8 +969,8 @@ matrix_ma1sd_database_password: "{{ matrix_synapse_macaroon_secret_key | passwor
# If that's not the case, you may wish to disable this and take care of proxying yourself.
matrix_nginx_proxy_enabled: true

matrix_nginx_proxy_proxy_matrix_client_api_addr_with_container: "{{ 'matrix-corporal:41080' if matrix_corporal_enabled else 'matrix-synapse:8008' }}"
matrix_nginx_proxy_proxy_matrix_client_api_addr_sans_container: "{{ '127.0.0.1:41080' if matrix_corporal_enabled else '127.0.0.1:8008' }}"
matrix_nginx_proxy_proxy_matrix_client_api_addr_with_container: "{{ 'matrix-corporal:41080' if matrix_corporal_enabled else 'matrix-nginx-proxy:12080' }}"
matrix_nginx_proxy_proxy_matrix_client_api_addr_sans_container: "{{ '127.0.0.1:41080' if matrix_corporal_enabled else '127.0.0.1:12080' }}"
matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb: "{{ matrix_synapse_max_upload_size_mb }}"

matrix_nginx_proxy_proxy_matrix_client_api_forwarded_location_synapse_admin_api_enabled: "{{ matrix_synapse_admin_enabled }}"
Expand All @@ -989,8 +994,12 @@ matrix_nginx_proxy_proxy_matrix_identity_api_addr_sans_container: "127.0.0.1:809
# By default, we do TLS termination for the Matrix Federation API (port 8448) at matrix-nginx-proxy.
# Unless this is handled there OR Synapse's federation listener port is disabled, we'll reverse-proxy.
matrix_nginx_proxy_proxy_matrix_federation_api_enabled: "{{ matrix_synapse_federation_port_enabled and not matrix_synapse_tls_federation_listener_enabled }}"
matrix_nginx_proxy_proxy_matrix_federation_api_addr_with_container: "matrix-synapse:8048"
matrix_nginx_proxy_proxy_matrix_federation_api_addr_sans_container: "127.0.0.1:8048"
matrix_nginx_proxy_proxy_matrix_federation_api_addr_with_container: "matrix-nginx-proxy:12088"
matrix_nginx_proxy_proxy_matrix_federation_api_addr_sans_container: "127.0.0.1:12088"

# Settings controlling matrix-synapse-proxy.conf
matrix_nginx_proxy_proxy_synapse_enabled: "{{ matrix_synapse_enabled }}"
matrix_nginx_proxy_proxy_synapse_federation_api_enabled: "{{ matrix_nginx_proxy_proxy_matrix_federation_api_enabled }}"

matrix_nginx_proxy_container_federation_host_bind_port: "{{ matrix_federation_public_port }}"

Expand All @@ -1007,6 +1016,16 @@ matrix_nginx_proxy_proxy_matrix_user_directory_search_addr_sans_container: "{{ m

matrix_nginx_proxy_self_check_validate_certificates: "{{ false if matrix_ssl_retrieval_method == 'self-signed' else true }}"

matrix_nginx_proxy_synapse_presence_disabled: "{{ not matrix_synapse_use_presence }}"

matrix_nginx_proxy_synapse_workers_enabled: "{{ matrix_synapse_workers_enabled }}"
matrix_nginx_proxy_synapse_workers_list: "{{ matrix_synapse_workers_enabled_list }}"
matrix_nginx_proxy_synapse_generic_worker_client_server_locations: "{{ matrix_synapse_workers_generic_worker_client_server_endpoints }}"
matrix_nginx_proxy_synapse_generic_worker_federation_locations: "{{ matrix_synapse_workers_generic_worker_federation_endpoints }}"
matrix_nginx_proxy_synapse_media_repository_locations: "{{matrix_synapse_workers_media_repository_endpoints|default([]) }}"
matrix_nginx_proxy_synapse_user_dir_locations: "{{ matrix_synapse_workers_user_dir_endpoints|default([]) }}"
matrix_nginx_proxy_synapse_frontend_proxy_locations: "{{ matrix_synapse_workers_frontend_proxy_endpoints|default([]) }}"

matrix_nginx_proxy_systemd_wanted_services_list: |
{{
(['matrix-synapse.service'])
Expand Down Expand Up @@ -1216,6 +1235,22 @@ matrix_postgres_import_databases_to_ignore: |



######################################################################
#
# matrix-redis
#
######################################################################

matrix_redis_enabled: "{{ matrix_synapse_workers_enabled }}"

######################################################################
#
# /matrix-redis
#
######################################################################



######################################################################
#
# matrix-client-element
Expand Down Expand Up @@ -1296,6 +1331,9 @@ matrix_synapse_container_metrics_api_host_bind_port: "{{ '127.0.0.1:9100' if (ma
#
# For exposing the Synapse Manhole port (plain HTTP) to the local host.
matrix_synapse_container_manhole_api_host_bind_port: "{{ '127.0.0.1:9000' if matrix_synapse_manhole_enabled else '' }}"
#
# For exposing the Synapse worker (and metrics) ports to the local host.
matrix_synapse_workers_container_host_bind_address: "{{ '127.0.0.1' if (matrix_synapse_workers_enabled and not matrix_nginx_proxy_enabled) else '' }}"

matrix_synapse_database_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'synapse.db') | to_uuid }}"

Expand Down Expand Up @@ -1350,6 +1388,11 @@ matrix_synapse_systemd_wanted_services_list: |
(['matrix-mailer.service'] if matrix_mailer_enabled else [])
}}

# Synapse workers (used for parallel load-scaling) need Redis for IPC.
matrix_synapse_redis_enabled: "{{ matrix_redis_enabled }}"
matrix_synapse_redis_host: "{{ 'matrix-redis' if matrix_redis_enabled else '' }}"
matrix_synapse_redis_password: "{{ matrix_redis_connection_password if matrix_redis_enabled else '' }}"

######################################################################
#
# /matrix-synapse
Expand Down Expand Up @@ -1467,7 +1510,7 @@ matrix_registration_riot_instance: "{{ ('https://' + matrix_server_fqn_element)

matrix_registration_shared_secret: "{{ matrix_synapse_registration_shared_secret if matrix_synapse_enabled else '' }}"

matrix_registration_server_location: "{{ 'http://matrix-synapse:8008' if matrix_synapse_enabled else '' }}"
matrix_registration_server_location: "{{ matrix_homeserver_container_url }}"

matrix_registration_api_validate_certs: "{{ false if matrix_ssl_retrieval_method == 'self-signed' else true }}"

Expand Down
5 changes: 5 additions & 0 deletions roles/matrix-base/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@ matrix_ntpd_service: "{{ 'ntpd' if ansible_os_family == 'RedHat' or ansible_dist

matrix_homeserver_url: "https://{{ matrix_server_fqn_matrix }}"

# Specifies where the homeserver is on the container network.
# Where this is depends on whether there's a reverse-proxy in front of it, etc.
# This likely gets overriden elsewhere.
matrix_homeserver_container_url: "http://matrix-synapse:8008"

matrix_identity_server_url: ~

matrix_integration_manager_rest_url: ~
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,14 @@ if [ "$sure" != "Yes, I really want to remove everything!" ]; then
exit 0
else
echo "Stop and remove matrix services"
for s in $(find {{ matrix_systemd_path }}/ -name "matrix-*" -printf "%f\n"); do
systemctl stop $s

for s in $(find {{ matrix_systemd_path }}/ -type f -name "matrix-*" -printf "%f\n"); do
systemctl disable --now $s
rm -f {{ matrix_systemd_path }}/$s
done

systemctl daemon-reload

echo "Remove matrix scripts"
find {{ matrix_local_bin_path }}/ -name "matrix-*" -delete
echo "Remove unused Docker images and resources"
Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bot-matrix-reminder-bot/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ matrix_bot_matrix_reminder_bot_matrix_user_id: '@{{ matrix_bot_matrix_reminder_b
# The password that the bot uses to authenticate.
matrix_bot_matrix_reminder_bot_matrix_user_password: ''

matrix_bot_matrix_reminder_bot_matrix_homeserver_url: 'http://matrix-synapse:8008'
matrix_bot_matrix_reminder_bot_matrix_homeserver_url: "{{ matrix_homeserver_container_url }}"

# The timezone to use when creating reminders.
# Examples: 'Europe/London', 'Etc/UTC'
Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-appservice-irc/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ matrix_appservice_irc_base_path: "{{ matrix_base_data_path }}/appservice-irc"
matrix_appservice_irc_config_path: "{{ matrix_appservice_irc_base_path }}/config"
matrix_appservice_irc_data_path: "{{ matrix_appservice_irc_base_path }}/data"

matrix_appservice_irc_homeserver_url: 'http://matrix-synapse:8008'
matrix_appservice_irc_homeserver_url: "{{ matrix_homeserver_container_url }}"
matrix_appservice_irc_homeserver_media_url: 'https://{{ matrix_server_fqn_matrix }}'
matrix_appservice_irc_homeserver_domain: '{{ matrix_domain }}'
matrix_appservice_irc_homeserver_enablePresence: true
Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mautrix-facebook/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ matrix_mautrix_facebook_config_path: "{{ matrix_mautrix_facebook_base_path }}/co
matrix_mautrix_facebook_data_path: "{{ matrix_mautrix_facebook_base_path }}/data"
matrix_mautrix_facebook_docker_src_files_path: "{{ matrix_mautrix_facebook_base_path }}/docker-src"

matrix_mautrix_facebook_homeserver_address: 'http://matrix-synapse:8008'
matrix_mautrix_facebook_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mautrix_facebook_homeserver_domain: '{{ matrix_domain }}'
matrix_mautrix_facebook_appservice_address: 'http://matrix-mautrix-facebook:29319'

Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mautrix-hangouts/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ matrix_mautrix_hangouts_docker_src_files_path: "{{ matrix_mautrix_hangouts_base_

matrix_mautrix_hangouts_public_endpoint: '/mautrix-hangouts'

matrix_mautrix_hangouts_homeserver_address: 'http://matrix-synapse:8008'
matrix_mautrix_hangouts_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mautrix_hangouts_homeserver_domain: '{{ matrix_domain }}'
matrix_mautrix_hangouts_appservice_address: 'http://matrix-mautrix-hangouts:8080'

Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mautrix-telegram/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ matrix_mautrix_telegram_bot_token: disabled
# Example: /741a0483-ba17-4682-9900-30bd7269f1cc
matrix_mautrix_telegram_public_endpoint: ''

matrix_mautrix_telegram_homeserver_address: 'http://matrix-synapse:8008'
matrix_mautrix_telegram_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mautrix_telegram_homeserver_domain: '{{ matrix_domain }}'
matrix_mautrix_telegram_appservice_address: 'http://matrix-mautrix-telegram:8080'
matrix_mautrix_telegram_appservice_public_external: 'https://{{ matrix_server_fqn_matrix }}{{ matrix_mautrix_telegram_public_endpoint }}'
Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mx-puppet-discord/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ matrix_mx_puppet_discord_docker_src_files_path: "{{ matrix_mx_puppet_discord_bas

matrix_mx_puppet_discord_appservice_port: "8432"

matrix_mx_puppet_discord_homeserver_address: 'http://matrix-synapse:8008'
matrix_mx_puppet_discord_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mx_puppet_discord_homeserver_domain: '{{ matrix_domain }}'
matrix_mx_puppet_discord_appservice_address: 'http://matrix-mx-puppet-discord:{{ matrix_mx_puppet_discord_appservice_port }}'

Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mx-puppet-instagram/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ matrix_mx_puppet_instagram_data_path: "{{ matrix_mx_puppet_instagram_base_path }
matrix_mx_puppet_instagram_docker_src_files_path: "{{ matrix_mx_puppet_instagram_base_path }}/docker-src"

matrix_mx_puppet_instagram_appservice_port: "8440"
matrix_mx_puppet_instagram_homeserver_address: 'http://matrix-synapse:8008'
matrix_mx_puppet_instagram_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mx_puppet_instagram_homeserver_domain: '{{ matrix_domain }}'
matrix_mx_puppet_instagram_appservice_address: 'http://matrix-mx-puppet-instagram:{{ matrix_mx_puppet_instagram_appservice_port }}'

Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mx-puppet-skype/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ matrix_mx_puppet_skype_docker_src_files_path: "{{ matrix_mx_puppet_skype_base_pa

matrix_mx_puppet_skype_appservice_port: "8438"

matrix_mx_puppet_skype_homeserver_address: 'http://matrix-synapse:8008'
matrix_mx_puppet_skype_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mx_puppet_skype_appservice_address: 'http://matrix-mx-puppet-skype:{{ matrix_mx_puppet_skype_appservice_port }}'

# "@user:server.com" to allow specific user
Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mx-puppet-slack/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ matrix_mx_puppet_slack_docker_src_files_path: "{{ matrix_mx_puppet_slack_base_pa

matrix_mx_puppet_slack_appservice_port: "8432"

matrix_mx_puppet_slack_homeserver_address: 'http://matrix-synapse:8008'
matrix_mx_puppet_slack_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mx_puppet_slack_homeserver_domain: '{{ matrix_domain }}'
matrix_mx_puppet_slack_appservice_address: 'http://matrix-mx-puppet-slack:{{ matrix_mx_puppet_slack_appservice_port }}'

Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mx-puppet-steam/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ matrix_mx_puppet_steam_docker_src_files_path: "{{ matrix_mx_puppet_steam_base_pa

matrix_mx_puppet_steam_appservice_port: "8432"

matrix_mx_puppet_steam_homeserver_address: 'http://matrix-synapse:8008'
matrix_mx_puppet_steam_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mx_puppet_steam_homeserver_domain: '{{ matrix_domain }}'
matrix_mx_puppet_steam_appservice_address: 'http://matrix-mx-puppet-steam:{{ matrix_mx_puppet_steam_appservice_port }}'

Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-bridge-mx-puppet-twitter/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ matrix_mx_puppet_twitter_docker_src_files_path: "{{ matrix_mx_puppet_twitter_bas

matrix_mx_puppet_twitter_appservice_port: "8432"

matrix_mx_puppet_twitter_homeserver_address: 'http://matrix-synapse:8008'
matrix_mx_puppet_twitter_homeserver_address: "{{ matrix_homeserver_container_url }}"
matrix_mx_puppet_twitter_homeserver_domain: '{{ matrix_domain }}'
matrix_mx_puppet_twitter_appservice_address: 'http://matrix-mx-puppet-twitter:{{ matrix_mx_puppet_twitter_appservice_port }}'

Expand Down
2 changes: 1 addition & 1 deletion roles/matrix-dimension/templates/config.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ homeserver:

# The URL that Dimension, go-neb, and other services provisioned by Dimension should
# use to access the homeserver with.
clientServerUrl: "http://matrix-synapse:8008"
clientServerUrl: "{{ matrix_homeserver_container_url }}"

# The URL that Dimension should use when trying to communicate with federated APIs on
# the homeserver. If not supplied or left empty Dimension will try to resolve the address
Expand Down
Loading