Commit Graph

4402 Commits

Author SHA1 Message Date
Slavi Pantaleev
51df34e7ae Ensure each container labels file defines at least one service
Most of these files were defining a service, usually toward the end.
These lines have been moved upward.

Some components (mautrix-signal, mautrix-gmessages, etc.) were defining
a service conditionally (only if metrics are exposed, etc). This was
causing issues like these in the Traefik logs:

> level=error msg="service \"matrix-mautrix-twitter\" error: port is missing" providerName=docker container=matrix-mautrix-twitter-..
2024-01-17 17:56:45 +02:00
Slavi Pantaleev
474db10238 Reorder Ansible task module parameters to make ansible-lint happy 2024-01-17 17:27:31 +02:00
Slavi Pantaleev
f9e19e9623 Always uninstall matrix-nginx-proxy, if discovered
This changes the behavior of
`matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled`
and is against what we initially described in the changelog entry,
but I've discovered some problems when the `matrix-nginx-proxy` service
and container remain running. They need to go.
2024-01-17 17:22:08 +02:00
Slavi Pantaleev
042c74f90c Remove some useless oidc variables and /_synapse/oidc route handling
After some checking, it seems like there's `/_synapse/client/oidc`,
but no such thing as `/_synapse/oidc`.

I'm not sure why we've been reverse-proxying these paths for so long
(even in as far back as the `matrix-nginx-proxy` days), but it's time we
put a stop to it.

The OIDC docs have been simplified. There's no need to ask people to
expose the useless `/_synapse/oidc` endpoint. OIDC requires
`/_synapse/client/oidc` and `/_synapse/client` is exposed by default
already.
2024-01-17 14:45:19 +02:00
Slavi Pantaleev
f3a9a2b35e Make post-start delay for matrix-conduit configurable 2024-01-17 12:26:28 +02:00
Slavi Pantaleev
4407403ab7 Make post-start delay for matrix-dendrite configurable 2024-01-17 12:25:31 +02:00
Slavi Pantaleev
cd06e04497 Make post-start delay for matrix-synapse configurable 2024-01-17 12:25:22 +02:00
Slavi Pantaleev
3ba0642bcf Increase delay after starting of matrix-synapse
10 seconds is a better default for slower (or overloaded) servers
2024-01-17 12:21:19 +02:00
Slavi Pantaleev
94378a7729 Make use of matrix_synapse_container_labels_matrix_related_labels_enabled
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3102
2024-01-17 10:13:15 +02:00
Slavi Pantaleev
ee0a8c4a81 Upgrade Synapse (v1.98.0 -> v1.99.0) 2024-01-17 08:40:48 +02:00
Slavi Pantaleev
aa0a85b094 Properly switch to element-hq-synapse and introduce variables for customizing that 2024-01-17 08:40:23 +02:00
Slavi Pantaleev
c0afcaa2e3 Replace (almost) all matrix-org/synapse references with element-hq/synapse
Issues and Pull Requests were not migrated to the new
organization/repository, so `matrix-org/synapse/pull` and
`matrix-org/synapse/issues` references were kept as-is.

`matrix-org/synapse-s3-storage-provider` references were also kept,
as that module still continues living under the `matrix-org` organization.

This patch mainly aims to change documentation-related things, not actual
usage in full yet. For polish that, another more comprehensive patch is coming later.
2024-01-17 08:02:47 +02:00
Catalan Lover
cb7f2eff3d make synapse support alternative containers via new variable 2024-01-17 07:28:08 +02:00
Slavi Pantaleev
fb64e86ba1
Merge pull request #3104 from spantaleev/renovate/dock.mau.dev-mautrix-discord-0.x
Update dock.mau.dev/mautrix/discord Docker tag to v0.6.5
2024-01-17 07:01:27 +02:00
Slavi Pantaleev
67f5640b3f
Merge pull request #3105 from spantaleev/renovate/dock.mau.dev-mautrix-gmessages-0.x
Update dock.mau.dev/mautrix/gmessages Docker tag to v0.2.4
2024-01-17 07:01:13 +02:00
Slavi Pantaleev
0aff4abcb0
Merge pull request #3109 from Michael-Hollister/michael/mmr-grafana-update-10-1-0
Updated Grafana dashboard for MMR
2024-01-17 06:56:27 +02:00
renovate[bot]
6ec2a89dcb
Update vectorim/element-web Docker tag to v1.11.54 2024-01-17 02:12:46 +00:00
Michael Hollister
c269eb5c49 Updated Grafana dashboard 2024-01-16 17:43:02 -06:00
renovate[bot]
fba9addb03
Update dock.mau.dev/mautrix/gmessages Docker tag to v0.2.4 2024-01-16 21:36:04 +00:00
renovate[bot]
f6c636b5e2
Update dock.mau.dev/mautrix/discord Docker tag to v0.6.5 2024-01-16 21:36:01 +00:00
Slavi Pantaleev
1036ae212f Update deprecation message for matrix_playbook_ssl_retrieval_method 2024-01-16 10:12:43 +02:00
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