Slavi Pantaleev
8f56166e6b
Restore invocation of matrix-mailer migration tasks
...
Seems like calling these tasks got removed at some point
while merge the `bye-bye-nginx-proxy` branch.
2024-01-16 09:40:01 +02:00
Catalan Lover
95f989ae8b
Update Draupnir to 1.86.0 from 1.85.1
2024-01-16 01:56:41 +01:00
Slavi Pantaleev
a4bea66553
Remove references to other-nginx-non-container/other-on-same-host/other-on-another-host reverse proxy types
2024-01-15 16:14:12 +02:00
Slavi Pantaleev
92c3122b96
Add additional-networks support to matrix-dynamic-dns
...
Not that it seems necessary right now, but it makes it consistent with
all other roles.
2024-01-15 11:18:25 +02:00
Slavi Pantaleev
ad32953e0b
Add additional-networks support to matrix-coturn
...
Not that it seems necessary right now, but it makes it consistent with
all other roles.
2024-01-15 11:18:09 +02:00
Slavi Pantaleev
fe13d7d010
Fix additional-networks connectivity for a few services
2024-01-15 11:13:47 +02:00
Slavi Pantaleev
e0aebe9b1e
Fix incorrect ExecStart (+ docker create) definition in matrix-mautrix-googlechat.service
2024-01-15 11:09:25 +02:00
Slavi Pantaleev
a717509531
Fix DB migrations for mautrix-hangouts failing to reach the database container
2024-01-15 11:07:41 +02:00
Slavi Pantaleev
48a4afb114
Make Traefik labels files look better
...
This moves the comments from being just in Jinja,
to actually ending up in the generated `labels` file,
which makes inspection of the final result easier.
Also, some new lines were added here and there to make labels
more legible.
The generated file may still include weird new-lines due to
various `if` statements yielding content or not, but that's not so ugly
anymore - now that we have proper start/end sections that are visible in
the final `labels` file.
2024-01-15 10:41:15 +02:00
Slavi Pantaleev
b9148675db
Remove extraneous endif in Conduit labels
2024-01-15 09:41:19 +02:00
Slavi Pantaleev
b91ad453be
Adjust TLS variables for homeservers to follow devture_traefik_config_entrypoint_web_secure_enabled (via matrix_federation_traefik_entrypoint_tls)
2024-01-15 09:39:36 +02:00
Slavi Pantaleev
25697861d7
Fix some variable typos in matrix-prometheus-nginxlog-exporter
2024-01-14 21:32:02 +02:00
Slavi Pantaleev
142a307af9
Fix more variable name typos in mx-puppet-twitter
...
Like 4f9b7ba656
.
Regression since 8e8c9cc03
.
2024-01-14 21:26:22 +02:00
Slavi Pantaleev
fe38c616c3
Fix variable name typo in matrix-bridge-mx-puppet-twitter
2024-01-14 21:21:11 +02:00
Slavi Pantaleev
8f64262e31
Fix yamllint-reported errors
2024-01-14 18:52:18 +02:00
Slavi Pantaleev
f4f3d57520
Remove all traces of matrix-nginx-proxy, add validation & uninstallation tasks
2024-01-14 18:42:14 +02:00
Slavi Pantaleev
18211810ef
Fix some default values in matrix-static-files
2024-01-14 18:34:39 +02:00
Slavi Pantaleev
aff57d67c0
Adjust Synapse OIDC variable wiring and docs
...
Auto-enabling the OIDC APIs is convenient for people
using the new `matrix_synapse_oidc_*` variables.
2024-01-14 12:34:25 +02:00
Slavi Pantaleev
038c63888a
Remove definition of old variable (matrix_synapse_admin_nginx_proxy_integration_enabled)
2024-01-14 12:12:15 +02:00
Slavi Pantaleev
aeb1bde4ab
Remove matrix-nginx-proxy reference from matrix-bridge-hookshot
2024-01-14 12:06:05 +02:00
Slavi Pantaleev
69ca30d1b1
Add support for the internal Traefik entrypoint to matrix-media-repo
2024-01-14 11:57:51 +02:00
Slavi Pantaleev
6b5f42fa81
Indirectly make use of matrix_homeserver_federation_enabled in matrix-media-repo and add some comments around Traefik labels
2024-01-14 11:54:02 +02:00
Slavi Pantaleev
c238978ac8
Add new global variable for controlling federation regardless of homeserver implementation
...
The old variables still work. The global lets us avoid
auto-detection logic like we're currently doing for
`matrix_nginx_proxy_proxy_matrix_federation_api_enabled`.
In the future, we'd just be able to reference
`matrix_homeserver_federation_enabled` and know the up-to-date value
regardless of homeserver.
2024-01-14 11:52:40 +02:00
Slavi Pantaleev
df5d8bfc04
Remove matrix-homeserver-proxy role in favor of the new internal Traefik entrypoint
...
This was meant to serve as an intermediary for services needing to reach
the homeserver. It was used like that for a while in this
`bye-bye-nginx-proxy` branch, but was never actually public.
It has recently been superseded by homeserver-like services injecting
themselves into a new internal Traefik entrypoint
(see `matrix_playbook_internal_matrix_client_api_traefik_entrypoint_*`),
so `matrix-homeserver-proxy` is no longer necessary.
---
This is probably a good moment to share some benchmarks and reasons
for going with the internal Traefik entrypoint as opposed to this nginx
service.
1. (1400 rps) Directly to Synapse (`ab -n 1000 -c 100 http://matrix-synapse:8008/_matrix/client/versions `
2. (~900 rps) Via `matrix-homeserver-proxy` (nginx) proxying to Synapse (`ab -n 1000 -c 100 http://matrix-homeserver-proxy:8008/_matrix/client/versions `)
3. (~1200 rps) Via the new internal entrypoint of Traefik (`matrix-internal-matrix-client-api`) proxying to Synapse (`ab -n 1000 -c 100 http://matrix-traefik:8008/_matrix/client/versions `)
Besides Traefik being quicker for some reason, there are also other
benefits to not having this `matrix-homeserver-proxy` component:
- we can reuse what we have in terms of labels. Services can register a few extra labels on the new Traefik entrypoint
- we don't need services (like `matrix-media-repo`) to inject custom nginx configs into `matrix-homeserver-proxy`. They just need to register labels, like they do already.
- Traefik seems faster than nginx on this benchmark for some reason, which is a nice bonus
- no need to run one extra container (`matrix-homeserver-proxy`) and execute one extra Ansible role
- no need to maintain a setup where some people run the `matrix-homeserver-proxy` component (because they have route-stealing services like `matrix-media-repo` enabled) and others run an optimized setup without this component and everything needs to be rewired to talk to the homeserver directly. Now, everyone can go through Traefik and we can all run an identical setup
Downsides of the new Traefik entrypoint setup are that:
- all addon services that need to talk to the homeserver now depend on Traefik
- people running their own Traefik setup will be inconvenienced - they
need to manage one additional entrypoint
2024-01-14 10:53:14 +02:00
Slavi Pantaleev
17c9e3f168
Add support for the internal Traefik entrypoint to synapse-reverse-proxy-companion
2024-01-14 10:48:55 +02:00
Slavi Pantaleev
4d66c14fd5
Add support for the internal Traefik entrypoint to Conduit
2024-01-14 10:48:55 +02:00
Slavi Pantaleev
ee0eb59dc6
Add support for the internal Traefik entrypoint to Dendrite
2024-01-14 10:48:54 +02:00
Slavi Pantaleev
b2aeb8cde9
Rename label-related variables for homeservers
...
We'd be adding integration with an internal Traefik entrypoint
(`matrix_playbook_internal_matrix_client_api_traefik_entrypoint`),
so renaming helps disambiguate things.
There's no need for deperecation tasks, because the old names
have only been part of this `bye-bye-nginx-proxy` branch and not used by
anyone publicly.
2024-01-14 10:48:54 +02:00
Slavi Pantaleev
39bddefd39
Make addons communicate with the homeserver via a new internal Traefik entrypoint
...
This also adds labels for Synapse. Support for other homeservers and
components will be added later.
2024-01-14 10:48:54 +02:00
Slavi Pantaleev
533dc711ad
Merge branch 'master' into bye-bye-nginx-proxy
2024-01-14 09:23:43 +02:00
Slavi Pantaleev
95e5a5c62e
Deprecate direct usage of devture_traefik_additional_entrypoints_auto
2024-01-14 09:23:36 +02:00
Slavi Pantaleev
d48a70b052
Connect matrix-synapse-auto-compressor directly to Postgres network, if integrated Postgres is used
...
This saves us one container network in the ideal case.
2024-01-13 20:01:06 +02:00
Slavi Pantaleev
10777218e8
Fix yamllint-reported errors in matrix-email2matrix
2024-01-13 19:47:04 +02:00
Slavi Pantaleev
62c4e76634
Ensure matrix-nginx-proxy container network is created
2024-01-13 19:44:26 +02:00
Slavi Pantaleev
17d80cb9e8
Move wsproxy to the matrix-addons network and adjust its Postgres connectivity
...
This is a bit of a compatibility break.
The role was defaulting the Postgres password to `some-password` and we
auto-generate it now.
However, rebuilding both Postgres and this service should unify the
database credentials and the service configs to the new value.
2024-01-13 18:13:06 +02:00
Slavi Pantaleev
b9dfa87f9a
Document difference between matrix_homeserver_container_url and matrix_addons_homeserver_client_api_url
2024-01-13 18:07:00 +02:00
Slavi Pantaleev
ed63068e22
Make maubot talk to the homeserver via matrix_addons_homeserver_client_api_url
2024-01-13 18:04:21 +02:00
Slavi Pantaleev
fa591ba278
Add missing matrix_bot_maubot_admins variable to defaults for matrix-bot-maubot
2024-01-13 18:00:19 +02:00
Slavi Pantaleev
c79f354dce
Move Dimension to the addons network and connect to Homeserver via matrix_addons_homeserver_client_api_url
2024-01-13 17:58:41 +02:00
Slavi Pantaleev
49066d41a9
Deprecate matrix_docker_network
2024-01-13 17:49:38 +02:00
Slavi Pantaleev
07d0ec4217
Fix variable name typo in validation task
2024-01-13 17:48:39 +02:00
Slavi Pantaleev
0ceea3895e
Move all monitoring-related services to their own container network (matrix_monitoring_container_network
)
2024-01-13 17:46:52 +02:00
Slavi Pantaleev
594839448f
Move matrix-nginx-proxy to its own container network
...
This service will be removed soon, but for now we need to get rid of
`matrix_docker_network` usage everywhere.
2024-01-13 17:31:37 +02:00
Slavi Pantaleev
cdf28c39d3
Move matrix-user-verification service to its own container network
2024-01-13 17:31:03 +02:00
Slavi Pantaleev
1c7f892b2b
Make wsproxy use its own container network (matrix_mautrix_wsproxy_container_network)
2024-01-13 17:28:23 +02:00
Slavi Pantaleev
7c286ab179
Remove matrix_docker_network references from remove-all script
2024-01-13 17:19:39 +02:00
Slavi Pantaleev
c96a0156c0
Make matrix-dynamic-dns use its own container network
2024-01-13 17:18:22 +02:00
Slavi Pantaleev
75f8a879de
Remove matrix_docker_network references from matrix-bridge-mx-puppet-twitter
2024-01-13 17:18:22 +02:00
Slavi Pantaleev
d1d6fe01b0
Remove matrix_docker_network references from matrix-bot-maubot
2024-01-13 17:18:22 +02:00
Slavi Pantaleev
23845c1d24
Remove matrix_docker_network references from matrix-bridge-hookshot
2024-01-13 17:18:22 +02:00
Slavi Pantaleev
c86cff2708
Fix NeDB to Postgres importing task for matrix-bridge-appservice-slack
...
Same as 250b91a40968e, but for Slack
2024-01-13 17:18:22 +02:00
Slavi Pantaleev
6b73073012
Fix NeDB to Postgres importing task for matrix-bridge-appservice-irc
...
Postgres is not in `matrix_docker_network` anymore, so what we had
before could not possibly work anymore.
2024-01-13 17:18:22 +02:00
Slavi Pantaleev
e782e91fbd
Fix some variable typos in matrix-appservice-webhooks.service
2024-01-13 17:18:22 +02:00
Slavi Pantaleev
3f212feb1f
Move matrix-email2matrix to its own container network
2024-01-13 17:18:22 +02:00
Slavi Pantaleev
e2157517af
Hook matrix-homeserver-proxy to matrix-prometheus-nginxlog-exporter
2024-01-13 16:51:09 +02:00
Slavi Pantaleev
262caf0d59
Add native Traefik support to matrix-prometheus-nginxlog-exporter
2024-01-13 16:50:44 +02:00
Slavi Pantaleev
a78a749f75
Define matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_server_port in the role defaults and make the tag configurable
2024-01-13 16:43:46 +02:00
Slavi Pantaleev
0fe4aaae09
Fix variable name typos in validation tasks for a few bridges
...
The old variables existed as well, but I inteded to use these new ones.
2024-01-13 16:08:47 +02:00
Slavi Pantaleev
313ecd8f8d
Do not require Prometheus in matrix-prometheus-nginxlog-exporter
...
The user may be running Prometheus elsewhere. It doesn't need to be
getting installed using the current playbook.
2024-01-13 15:56:49 +02:00
Slavi Pantaleev
21d412f90b
Fix syntax errors in some --mount arguments
...
Regression since ce2f541deb
2024-01-13 15:51:19 +02:00
Slavi Pantaleev
a9a1448f62
Add self-check for the matrix-corporal HTTP API (if enabled)
2024-01-13 15:29:47 +02:00
Slavi Pantaleev
5d76b91dc2
Restore matrix-corporal functionality when matrix-nginx-proxy is not involved
2024-01-13 15:29:47 +02:00
Slavi Pantaleev
48e6344c9e
Merge branch 'master' into bye-bye-nginx-proxy
2024-01-13 10:25:35 +02:00
Slavi Pantaleev
22dce1d4cc
Upgrade matrix-reminder-bot and lock it down via the new allowlist setting
2024-01-13 10:22:06 +02:00
Slavi Pantaleev
d6e91116ab
Update documentation related to variables for prometheus-node-exporter/prometheus-postgres-exporter metrics exposure
2024-01-12 18:04:18 +02:00
Slavi Pantaleev
c468a860f8
Switch to exposing prometheus-postgres-exporter via native Traefik labels, not via matrix-prometheus-services-proxy-connect.. and remove matrix-prometheus-services-proxy-connect
role
...
This requires at least `v0.14.0-2` of the `prometheus-postgres-exporter`
Ansible role.
2024-01-12 17:54:54 +02:00
Slavi Pantaleev
beb0f2387d
Switch to exposing prometheus-node-exporter via native Traefik labels, not via matrix-prometheus-services-proxy-connect
...
This requires at least `v1.7.0-2` of the `prometheus-node-exporter`
Ansible role.
2024-01-12 17:41:54 +02:00
Slavi Pantaleev
7fba83924c
Remove etherpad-proxy-connect role
2024-01-12 17:22:46 +02:00
Slavi Pantaleev
4018aa38b3
Move matrix-registration service to its own network and add native Traefik support
2024-01-12 17:17:12 +02:00
Slavi Pantaleev
13e47fc3f5
Remove matrix-nginx-proxy integration support from matrix-synapse-admin
2024-01-12 16:33:44 +02:00
Slavi Pantaleev
74099383cd
Adapt external_prometheus.yml.example.j2 to our new metrics exposure setup
2024-01-12 13:01:06 +02:00
Slavi Pantaleev
934b73c849
Remove leftover Synapse metrics code for integrating with matrix-nginx-proxy
2024-01-12 12:57:28 +02:00
Slavi Pantaleev
c0308307e2
Make homeserver services sleep after startup, instead of all dependencies sleeping separately
...
This is an attempt at optimizing service startup.
The effect is most pronounced when many services are restarted one by one.
The systemd service manager role sometimes does this - for example when `just install-service synapse` runs.
In such cases, a 5-second delay for each Synapse worker service
(or other bridge/bot service that waits on the homeserver) quickly adds up to a lot.
When services are all stopped fully and then started, the effect is not so pronounced, because
`matrix-synapse.service` starts first and pulls all worker services (defined as `Wants=` for it).
Later on, when the systemd service manager role "starts" these worker services, they're started already.
Even if they had a 5-second wait each, it would have happened in parallel.
2024-01-12 12:45:18 +02:00
Slavi Pantaleev
41a52945d6
Add support for exposing metrics for Synapse workers
2024-01-12 12:16:06 +02:00
Slavi Pantaleev
22f5f0ba75
Add support for exposing metrics for Synapse (without workers)
2024-01-12 12:15:57 +02:00
Slavi Pantaleev
3556dd77ef
Use variables instead of hardcoding service port numbers in labels for matrix-synapse
2024-01-12 09:31:31 +02:00
Slavi Pantaleev
a92efa46ad
Merge branch 'master' into bye-bye-nginx-proxy
2024-01-11 18:57:44 +02:00
Slavi Pantaleev
b38b00bbd7
Upgrade mautrix-signal (959eb7eaf9 -> de8c8d97c2)
...
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3090
Related to https://github.com/mautrix/signal/issues/422
2024-01-11 18:57:16 +02:00
Slavi Pantaleev
1831f09f2b
Shorten Traefik router names (*-endpoint -> *)
2024-01-11 12:35:41 +02:00
Slavi Pantaleev
f9faaae26c
Shorten Traefik router name (*-well-known-endpoint -> *-well-known)
2024-01-11 12:35:39 +02:00
Slavi Pantaleev
18254cd0b2
Remvoe all Traefik labels from matrix-nginx-proxy and update docs for delegation via SRV
2024-01-11 12:31:56 +02:00
Slavi Pantaleev
ce2f541deb
Switch all remaining container volume mounting from -v
to --mount
...
`--mount` is safer, as `-v` has the side-effect of creating the "source"
destination as a directory if it doesn't exist yet.
We don't need such magic.
2024-01-11 12:16:27 +02:00
Slavi Pantaleev
881c20bf25
Switch matrix_dendrite_container_additional_volumes from using -v to --mount
...
Related to e5130372b9
.
Depending on the `options` that people provide, this may break
compatibility.
2024-01-11 12:15:32 +02:00
Slavi Pantaleev
e5130372b9
Switch matrix_synapse_container_additional_volumes from using -v to --mount
...
Depending on the `options` that people provide, this may break
compatibility.
2024-01-11 12:12:44 +02:00
Slavi Pantaleev
c4d6144bb9
Add metrics-exposure support for Dendrite
2024-01-11 12:02:15 +02:00
Slavi Pantaleev
f257cd9fbe
Fix a few incorrect service names in labels for matrix-synapse/matrix-synapse-reverse-proxy-companion
2024-01-11 11:58:20 +02:00
Slavi Pantaleev
0701a01825
Fix service name in federation labels for Dendrite
2024-01-11 11:41:27 +02:00
Slavi Pantaleev
4873af18a8
Fix service name in federation labels for Conduit
2024-01-11 11:41:15 +02:00
Slavi Pantaleev
bea41e28b0
Remove Dendrite support from matrix-nginx-proxy
2024-01-11 11:33:33 +02:00
Slavi Pantaleev
d8eb768e03
Add native Traefik support to matrix-dendrite
2024-01-11 11:30:42 +02:00
Slavi Pantaleev
f78adfde47
Remove Synapse support from matrix-nginx-proxy
2024-01-11 09:24:01 +02:00
Slavi Pantaleev
030e8065e4
Remove Conduit support from matrix-nginx-proxy
2024-01-11 09:21:00 +02:00
Slavi Pantaleev
9ae8ccac36
Add matrix_conduit_hostname
2024-01-11 09:17:13 +02:00
Slavi Pantaleev
4639eebf12
Add native Traefik support to matrix-conduit
2024-01-11 08:56:51 +02:00
Slavi Pantaleev
3e0e92bdf7
Do not use matrix_synapse_reverse_proxy_companion_ variables in the matrix-synapse role
2024-01-11 08:49:57 +02:00
Slavi Pantaleev
53b5d8286f
Merge branch 'master' into bye-bye-nginx-proxy
2024-01-11 08:35:53 +02:00
Slavi Pantaleev
95e505106b
Restore matrix_mautrix_signal_appservice_bot_username usage
...
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3088
Looks like the migration to the Go-based Signal bridge hardcoded the
`signalbot` username instead of using the variable we had.
Related to: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041
2024-01-11 07:55:41 +02:00
Slavi Pantaleev
6766216fcb
Wire Conduit to advertise usage of the Coturn TURN server
...
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3089
2024-01-11 07:52:48 +02:00
Slavi Pantaleev
f54b68956d
Adapt matrix-media-repo to new container network setup, etc.
2024-01-09 18:52:38 +02:00
Slavi Pantaleev
fc79afadd1
Merge branch 'master' into bye-bye-nginx-proxy
2024-01-09 16:07:54 +02:00