Commit Graph

10804 Commits

Author SHA1 Message Date
Suguru Hirahara
9320ef49fe Relocate Cinny role to MASH organization (#4900)
* Use `ansible-role-cinny`

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Replace `matrix-client-cinny` and `matrix_client_cinny` with `cinny`

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Set `matrix-client-cinny` to `cinny_identifier`

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Set `cinny_container_image_*`

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Remove `cinny_container_image_registry_prefix_*`

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Replace `cinny_data_path` with `cinny_base_path`

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Move `cinny_hostname` to `matrix_servers`

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Add `cinny_uid` and `cinny_gid`

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Remove `matrix-client-cinny` in favor of ansible-role-cinny

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

* Update CHANGELOG.md

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>

---------

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
Co-authored-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-02-07 11:01:04 +02:00
Slavi Pantaleev
cf6c5208e8 Fix cli-non-interactive syntax in uninstallation docs (add -c flag)
The cli-non-interactive script passes arguments directly to psql, which
interprets positional arguments as database names, not SQL commands.
Without the -c flag, commands like:

  /matrix/postgres/bin/cli-non-interactive 'DROP DATABASE foo;'

fail with: FATAL: database "DROP DATABASE foo;" does not exist

The correct syntax requires -c to pass a command:

  /matrix/postgres/bin/cli-non-interactive -c 'DROP DATABASE foo;'

This mistake was originally introduced in c399992542
when the matrix-bridge-mautrix-hangouts role was removed. That commit's
uninstallation docs were then used as a template and the error propagated
to subsequent removal documentation for other bridges and components.
2026-02-07 10:52:56 +02:00
renovate[bot]
e6168d8e9c chore(deps): update dependency setuptools to v81 2026-02-07 09:45:29 +02:00
Slavi Pantaleev
6d1ec58a82 Fix prometheus_postgres_exporter_port variable rename
The variable was renamed to prometheus_postgres_exporter_container_http_port in
2b37e604cb

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

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4894
2026-02-06 01:25:34 +02:00
Aine
adf521f8cb add matrix_synapse_email_enable_notifs and matrix_synapse_email_notif_for_new_users 2026-02-05 19:09:51 +00:00
Suguru Hirahara
4cfe5f8f3f Update related to the year
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-02-05 20:32:12 +02:00
Suguru Hirahara
72c8873d06 Remove matrix_homeserver_sliding_sync_url
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-02-05 20:32:12 +02:00
Suguru Hirahara
90129f75aa Remove sliding sync proxy
Reuse 2b7a0453eb

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-02-05 20:32:12 +02:00
Suguru Hirahara
c8920885f9 Replace valkey_container_http_port
See: 36d4bd4548
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-02-05 11:12:27 +02:00
renovate[bot]
1f0e33e07a chore(deps): update dependency prometheus_postgres_exporter to v0.19.0-0 2026-02-05 06:36:55 +02:00
renovate[bot]
8f6ae1f734 chore(deps): update nginx docker tag to v1.29.5 2026-02-05 06:36:46 +02:00
renovate[bot]
2c0688334f chore(deps): update dependency jitsi to v10741 2026-02-04 21:02:05 +02:00
renovate[bot]
d548f7ba8c chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026.2.4 2026-02-04 10:46:09 +02:00
Slavi Pantaleev
a7ddb189b5 Add missing license file for whoami_sync_worker_router.js.j2 2026-02-04 04:26:15 +02:00
Slavi Pantaleev
7d4536cf78 Upgrade baibot (v1.13.0 -> v1.14.0) and add built-in tools configuration support 2026-02-04 04:21:47 +02:00
Slavi Pantaleev
93f6264466 Add CHANGELOG entry for whoami-based sync worker routing 2026-02-04 04:06:59 +02:00
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.
2026-02-04 04:06:59 +02:00
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.
2026-02-04 04:06:59 +02:00
Aine
81f815d19b fix uid/gid vars for Synapse Admin 2026-02-03 21:40:11 +00:00
renovate[bot]
c63a0f984b chore(deps): update dependency valkey to v9.0.2-0 2026-02-03 22:53:35 +02:00
Aine
6c4b9bb3d7 Merge pull request #4886 from spantaleev/synapse-admin-etke53
Synapse Admin v0.11.1-etke53
2026-02-03 20:40:34 +00:00
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)
2026-02-02 15:59:00 +02:00
renovate[bot]
aeea016e3c chore(deps): update dependency babel to v2.18.0 2026-02-01 19:25:08 +02:00
Aine
5bbb1930cb Synapse Admin i18n menu 2026-01-31 23:55:47 +00:00
renovate[bot]
2f66b7df94 chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026.1.31 2026-01-31 12:58:55 +02:00
Aine
f621eb8018 Synapse Admin v0.11.1-etke53 2026-01-30 22:39:12 +00:00
renovate[bot]
3f0ff4c510 chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.2 2026-01-30 21:15:05 +02:00
Slavi Pantaleev
b9631aea1c Upgrade ntfy (v2.16.0-0 -> v2.16.0-1) 2026-01-30 21:14:11 +02:00
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>
2026-01-29 12:08:59 +02:00
renovate[bot]
72d522b9f1 chore(deps): update dependency backup_borg to v1.4.3-2.1.1-0 2026-01-29 05:26:29 +02:00
renovate[bot]
67e650b5f9 chore(deps): update coturn/coturn docker tag to v4.8.0 2026-01-27 22:46:31 +02:00
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
2026-01-27 22:40:47 +02:00
Sid Manat
fd6f72382d Upgrade Coturn (4.6.2-r11 -> 4.8.0-r0) 2026-01-27 22:24:54 +02:00
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).
2026-01-27 22:11:06 +02:00
renovate[bot]
93d110e61e chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.146.0 2026-01-27 22:10:25 +02:00
renovate[bot]
6629867235 chore(deps): update ghcr.io/element-hq/matrix-authentication-service docker tag to v1.10.0 2026-01-27 21:18:40 +02:00
renovate[bot]
8a3c75b7bd chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.9 2026-01-27 16:55:38 +02:00
renovate[bot]
b6bf91c150 chore(deps): update dependency etherpad to v2.6.1-0 2026-01-27 12:53:38 +02:00
renovate[bot]
b0e70f419f chore(deps): update dependency setuptools to v80.10.2 2026-01-26 08:15:49 +02:00
renovate[bot]
692c34ad9b chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.1 2026-01-24 20:07:34 +02:00
Slavi Pantaleev
97c2915034 Upgrade baibot (v1.12.0 -> v1.13.0) 2026-01-23 00:52:36 +02:00
renovate[bot]
292397234a chore(deps): update dependency packaging to v26 2026-01-22 07:52:37 +02:00
renovate[bot]
82d6f3de2c chore(deps): update dependency setuptools to v80.10.1 2026-01-21 15:49:57 +02:00
renovate[bot]
cc9234d3ba chore(deps): update ghcr.io/etkecc/fluffychat-web docker tag to v2.4.0 2026-01-21 15:49:48 +02:00
renovate[bot]
47322a8d52 chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026.1.21 2026-01-21 08:35:31 +02:00
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
2026-01-20 16:10:30 +02:00
renovate[bot]
e01a79865c chore(deps): update halfshot/matrix-hookshot docker tag to v7.3.0 2026-01-20 15:38:23 +02:00
renovate[bot]
ab97b94245 chore(deps): update dependency ntfy to v2.16.0-0 2026-01-20 11:56:58 +02:00
renovate[bot]
c8fc504470 chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2601.0 2026-01-16 22:28:12 +02:00
renovate[bot]
a6c447ade3 chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.2601.0 2026-01-16 22:26:58 +02:00