Slavi Pantaleev
93f6264466
Add CHANGELOG entry for whoami-based sync worker routing
пре 4 недеља
Slavi Pantaleev
45c855c853
Remove old map-based user identifier extraction for sync workers
The whoami-based approach is now the only implementation for sync worker routing.
It works with all token types (native Synapse, MAS, etc.) and is automatically
enabled when sync workers exist.
The old map-based approach only worked with native Synapse tokens (syt_<b64>_...)
and would give poor results with MAS or other auth systems.
пре 4 недеља
Slavi Pantaleev
5cc69ca7eb
Add whoami-based sync worker routing for user-level sticky sessions
This adds a new routing mechanism for sync workers that resolves access tokens
to usernames via Synapse's whoami endpoint, enabling true user-level sticky
routing regardless of which device or token is used.
Previously, sticky routing relied on parsing the username from native Synapse
tokens (`syt_<base64 username>_...`), which only works with native Synapse auth
and provides device-level stickiness at best. This new approach works with any
auth system (native Synapse, MAS, etc.) because Synapse handles token validation
internally.
Implementation uses nginx's auth_request module with an njs script because:
- The whoami lookup requires an async HTTP subrequest (ngx.fetch)
- js_set handlers must return synchronously and don't support async operations
- auth_request allows the async lookup to complete, then captures the result
via response headers into nginx variables
The njs script:
- Extracts access tokens from Authorization header or query parameter
- Calls Synapse's whoami endpoint to resolve token -> username
- Caches results in a shared memory zone to minimize latency
- Returns the username via a `X-User-Identifier` header
The username is then used by nginx's upstream hash directive for consistent
worker selection. This leverages nginx's built-in health checking and failover.
пре 4 недеља
Aine
81f815d19b
fix uid/gid vars for Synapse Admin
пре 4 недеља
renovate[bot]
c63a0f984b
chore(deps): update dependency valkey to v9.0.2-0
пре 4 недеља
Aine
6c4b9bb3d7
Merge pull request #4886 from spantaleev/synapse-admin-etke53
Synapse Admin v0.11.1-etke53
пре 4 недеља
Slavi Pantaleev
76e13f8200
Add native Sliding Sync (MSC3575) endpoint to worker routing
The /_matrix/client/unstable/org.matrix.simplified_msc3575/sync endpoint
can be handled by generic workers, but Synapse's workers.md documentation
doesn't mention it. The code confirms it's worker-compatible:
- SlidingSyncRestServlet is registered via sync.register_servlets:
https://github.com/element-hq/synapse/blob/0dfcffab0f/synapse/rest/client/sync.py#L1128-L1131
- sync.register_servlets is NOT in the worker exclusion list:
https://github.com/element-hq/synapse/blob/0dfcffab0f/synapse/rest/__init__.py#L180-L194
- GenericWorkerStore includes SlidingSyncStore:
https://github.com/element-hq/synapse/blob/0dfcffab0f/synapse/app/generic_worker.py#L168
This adds the endpoint to both:
- matrix_synapse_workers_sync_worker_client_server_endpoints (for specialized sync workers with sticky routing)
- matrix_synapse_workers_generic_worker_endpoints (documenting generic worker capability)
пре 1 месец
renovate[bot]
aeea016e3c
chore(deps): update dependency babel to v2.18.0
пре 1 месец
Aine
5bbb1930cb
Synapse Admin i18n menu
пре 1 месец
renovate[bot]
2f66b7df94
chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026.1.31
пре 1 месец
Aine
f621eb8018
Synapse Admin v0.11.1-etke53
пре 1 месец
renovate[bot]
3f0ff4c510
chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.2
пре 1 месец
Slavi Pantaleev
b9631aea1c
Upgrade ntfy (v2.16.0-0 -> v2.16.0-1)
пре 1 месец
Thom Wiggers
b1ff71266b
Update matrix-appservice-irc to 4.0.0 with authenticated media proxy support
- Upgrade from 1.0.1 to 4.0.0
- Add ircService.mediaProxy configuration for authenticated Matrix media
- Add Traefik integration for media proxy endpoint
- Generate signing key for authenticated media
Closes #3512
Co-authored-by: Jade Ellis <jade@ellis.link>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
пре 1 месец
renovate[bot]
72d522b9f1
chore(deps): update dependency backup_borg to v1.4.3-2.1.1-0
пре 1 месец
renovate[bot]
67e650b5f9
chore(deps): update coturn/coturn docker tag to v4.8.0
пре 1 месец
Slavi Pantaleev
18b11eea3b
Try `versioning=loose` for the Coturn container image definition for Renovate
Ref: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4880#issuecomment-3807433691
пре 1 месец
Sid Manat
fd6f72382d
Upgrade Coturn (4.6.2-r11 -> 4.8.0-r0)
пре 1 месец
Slavi Pantaleev
460d46999f
Make Synapse's `enable_local_media_storage` configurable
Ref:
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4882
- https://github.com/element-hq/synapse/pull/19204
- https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#enable_local_media_storage
We default it to `true`, keeping up with upstream and the old behavior.
s3-storage-provider users may set `matrix_synapse_enable_local_media_storage` to `false`
to disable local file caching.
This likely comes at the expense of some performance.
For matrix-media-repo users, it likely doesn't matter what this is set to,
as for a matrix-media-repo setup, all media-related API endpoints are
captured and forwarded to matrix-media-repo (before reaching Synapse).
пре 1 месец
renovate[bot]
93d110e61e
chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.146.0
пре 1 месец
renovate[bot]
6629867235
chore(deps): update ghcr.io/element-hq/matrix-authentication-service docker tag to v1.10.0
пре 1 месец
renovate[bot]
8a3c75b7bd
chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.9
пре 1 месец
renovate[bot]
b6bf91c150
chore(deps): update dependency etherpad to v2.6.1-0
пре 1 месец
renovate[bot]
b0e70f419f
chore(deps): update dependency setuptools to v80.10.2
пре 1 месец
renovate[bot]
692c34ad9b
chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.1
пре 1 месец
Slavi Pantaleev
97c2915034
Upgrade baibot (v1.12.0 -> v1.13.0)
пре 1 месец
renovate[bot]
292397234a
chore(deps): update dependency packaging to v26
пре 1 месец
renovate[bot]
82d6f3de2c
chore(deps): update dependency setuptools to v80.10.1
пре 1 месец
renovate[bot]
cc9234d3ba
chore(deps): update ghcr.io/etkecc/fluffychat-web docker tag to v2.4.0
пре 1 месец
renovate[bot]
47322a8d52
chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026.1.21
пре 1 месец
Slavi Pantaleev
911031e2cf
Add support for Hookshot static connections (new in v7.3.0)
This adds the matrix_hookshot_connections variable for configuring
static webhook connections via the config file.
See: https://github.com/matrix-org/matrix-hookshot/pull/1102
пре 1 месец
renovate[bot]
e01a79865c
chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.0
пре 1 месец
renovate[bot]
ab97b94245
chore(deps): update dependency ntfy to v2.16.0-0
пре 1 месец
renovate[bot]
c8fc504470
chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2601.0
пре 1 месец
renovate[bot]
a6c447ade3
chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.2601.0
пре 1 месец
renovate[bot]
aa69069627
chore(deps): update dock.mau.dev/mautrix/signal docker tag to v0.2601.0
пре 1 месец
renovate[bot]
fa22053bf1
chore(deps): update ansible/ansible-lint action to v26.1.1
пре 1 месец
renovate[bot]
a3ef7109b6
chore(deps): update dependency docker to v8
пре 1 месец
renovate[bot]
7c8a28d590
chore(deps): update ghcr.io/element-hq/lk-jwt-service docker tag to v0.4.1
пре 1 месец
renovate[bot]
28af19a1a7
chore(deps): update dependency myst-parser to v5
пре 1 месец
renovate[bot]
ea4b467cd3
chore(deps): update dependency livekit_server to v1.9.11-0
пре 1 месец
Slavi Pantaleev
bd6202eb65
Upgrade Traefik (v3.6.6-0 -> v3.6.7-1) and remove all (now-unnecessary) `encodedCharacters_*` setting overrides
All these `encodedCharacters_*` settings default to `true` in Traefik v3.6.7,
so we don't need to override their values.
Ref: https://doc.traefik.io/traefik/v3.6/migrate/v3/#v367
Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4835
пре 1 месец
Aine
4d0cf32151
grafana: add /tmp tmpfs
пре 1 месец
renovate[bot]
1890f3a01a
chore(deps): update dependency jitsi to v10710
пре 1 месец
Slavi Pantaleev
ac5dc5d44f
Pull in some additional Synapse workers routing configuration
Provoked by https://github.com/element-hq/synapse/pull/19281
which landed in Synapse v1.145.0, but we pull in a few other routes
that I noticed to be missing.
пре 1 месец
renovate[bot]
a050107e0f
chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.145.0
пре 1 месец
renovate[bot]
41108b57e3
chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026
пре 1 месец
renovate[bot]
78c7b61af8
chore(deps): update ghcr.io/element-hq/matrix-authentication-service docker tag to v1.9.0
пре 1 месец
renovate[bot]
b5c5f34ca4
chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.8
пре 1 месец
Slavi Pantaleev
e1bf0aebd2
Upgrade LiveKit (v1.9.10-0 -> v1.9.10-1)
пре 1 месец