Commit Graph

32 Commits

Author SHA1 Message Date
Slavi Pantaleev
57c5271d9d Enable (Traefik compression middleware)-assisted compression for synapse-reverse-proxy-companion
This likely breaks QR code login for Synapse-worker setups.

See https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749
2024-11-14 16:30:09 +02:00
Slavi Pantaleev
58a8f79d95 Remove gzip support from synapse-reverse-proxy-companion
gzipping certain responses is known to cause problems with QR code logins.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749

Gzipping at the synapse-reverse-proxy-companion level and not at the
level of the outer-most reverse-proxy (Traefik) also sounds non-ideal.

This change only affects setups powered by Synapse workers.

Non-worker setups (and setups powered by other homeservers) were not
having their requests go through synapse-reverse-proxy-companion anyway,
so this change does not affect them.

Future patches may enable response compression support at the Traefik level for
all setups.
2024-11-13 21:48:18 +02:00
Slavi Pantaleev
8a6b822bbd Always send /rendezvous routes to the same Synapse worker process (main) to fix QR code login
Related to https://github.com/matrix-org/matrix-spec-proposals/pull/4108
2024-11-01 09:52:41 +02:00
Michael Hollister
bd027159b1 Added extra systemd service arguments to synapse workers and proxy companion 2024-01-24 13:14:34 -06:00
Slavi Pantaleev
16ca50c6ef Add a few more comments in matrix-synapse-reverse-proxy-companion.conf.j2
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100
2024-01-20 11:24:59 +02:00
Slavi Pantaleev
826f757fbb
Merge branch 'master' into cvwright/room-workers-v2 2024-01-20 10:35:56 +02:00
Slavi Pantaleev
775000883a Fix Jinja issue related to Synapse workers keepalive templating
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3114
2024-01-18 11:31:59 +02:00
Charles Wright
025a7e5c66
Merge branch 'spantaleev:master' into cvwright/room-workers-v2 2024-01-17 08:02:47 -06: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
Charles Wright
55604f73c5 Bugfix: Locations for new workers must go *after* the stream writers 2024-01-16 17:24:13 -06:00
Charles Wright
a1cbe7f39b Add overrides for locations that must go to the main Synapse process 2024-01-16 16:32:32 -06:00
Charles Wright
124524ea1f Typo: Send sync endpoints to sync workers, not room workers 2024-01-16 11:22:46 -06:00
Charles Wright
12a8d535e8 Move maps inside the if-workers block; Add Tom's map to extract access token from the URI arg 2024-01-16 10:53:20 -06:00
Charles Wright
0175a472d7 Typo: forgot closing }}'s 2024-01-16 10:02:36 -06:00
Charles Wright
db70230ae1 Add room-workers as a new preset, with new room workers, sync workers, client readers, and federation readers. Based on https://tcpipuk.github.io/synapse/index.html 2024-01-16 09:17:24 -06: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
17c9e3f168 Add support for the internal Traefik entrypoint to synapse-reverse-proxy-companion 2024-01-14 10:48:55 +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
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
41a52945d6 Add support for exposing metrics for Synapse workers 2024-01-12 12:16:06 +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
e7b7b48db5 Merge branch 'master' into bye-bye-nginx-proxy 2024-01-05 11:07:50 +02:00
Slavi Pantaleev
fe7c06d6f5 Fix duplicate labels in matrix-synapse-reverse-proxy-companion 2024-01-04 18:07:24 +02:00
Slavi Pantaleev
54fb153acf Expose /_synapse/* APIs via matrix-synapse-reverse-proxy-companion
This also updates validation tasks and documentation, pointing to
variables in the matrix-synapse role which don't currently exist yet
(e.g. `matrix_synapse_container_labels_client_synapse_admin_api_enabled`).

These variables will be added soon, as Traefik labels are added to the
`matrix-synapse` role. At that point, the `matrix-synapse-reverse-proxy-companion` role
will be updated to also use them.
2024-01-04 11:37:17 +02:00
Slavi Pantaleev
e678adfeda Add root path (/) handling to matrix-synapse-reverse-proxy-companion (redirect or /_matrix/static/ serving) 2024-01-04 10:24:33 +02:00
Charles Wright
c053336ad2 Add keepalive on worker upstreams and use HTTP 1.1 for persistent connections 2024-01-03 14:43:01 -06:00
Slavi Pantaleev
bbd9493b8f Handle /_matrix Client-Server and Federation APIs directly at matrix-synapse-reverse-proxy-companion 2024-01-03 17:05:59 +02:00
Slavi Pantaleev
2511b34a7c Stop containers gracefully, instead of outright killing them 2023-12-06 11:52:23 +02:00
Slavi Pantaleev
e018663ba4 Attach ma1sd/nginx-proxy/synapse-reverse-proxy-companion to additional networks in a better way
Switching from doing "post-start" loop hacks to running the container
in 3 steps: `create` + potentially connect to additional networks + `start`.
This way, the container would be connected to all its networks even at
the very beginning of its life.
2023-02-06 08:38:43 +02:00
ikkemaniac
8ebf18a885
add prometheus-nginxlog-exporter role (#2315)
* add prometheus-nginxlog-exporter role

* Rename matrix_prometheus_nginxlog_exporter_container_url to matrix_prometheus_nginxlog_exporter_container_hostname

* avoid referencing variables from other roles, handover info using group_vars/matrix_servers

* fix: stop service when uninstalling

fix: typo

move available arch's into a var

fix: text

* fix: prometheus enabled condition

Co-authored-by: ikkemaniac <ikkemaniac@localhost>
2022-12-07 16:58:36 +02:00
Slavi Pantaleev
42f3c3cbf6 Improve command for connecting to additional container networks 2022-11-25 10:22:25 +02:00
Slavi Pantaleev
e9e84341a9 Reverse-proxy to Synapse via matrix-synapse-reverse-proxy-companion
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090
2022-11-20 16:43:33 +02:00