3
0
mirror of https://github.com/spantaleev/matrix-docker-ansible-deploy.git synced 2026-03-25 22:17:25 +00:00
Commit Graph

11045 Commits

Author SHA1 Message Date
Slavi Pantaleev
68aca96cbd docs: clarify database_host ignored when postgres sockets are enabled 2026-03-18 15:21:03 +02:00
renovate[bot]
68318ce932 chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026.3.18 2026-03-18 12:11:23 +02:00
renovate[bot]
4e4bccd03a chore(deps): update oci.element.io/element-admin docker tag to v0.1.11 2026-03-17 16:48:28 +02:00
Norman Ziegner
19423864f0 synapse: add missing server_notices configuration variables
Add support for all server_notices settings documented by Synapse:
- room_avatar_url: optional avatar for the server notices room
- room_topic: optional topic for the server notices room
- auto_join: whether users are auto-joined instead of invited (default: false)

Signed-off-by: Norman Ziegner <n.ziegner@hzdr.de>
2026-03-17 16:43:14 +02:00
Slavi Pantaleev
a000abdf19 postgres: stop disabling unix socket support 2026-03-17 15:35:02 +02:00
Slavi Pantaleev
b596319a4a postgres: drop redundant cli socket override 2026-03-17 15:35:02 +02:00
Slavi Pantaleev
f0906e79a9 matrix-synapse: gate postgres sockets on postgres role support 2026-03-17 15:35:02 +02:00
Slavi Pantaleev
2fff4b5b88 matrix-synapse: use clearer socket mount paths 2026-03-17 15:35:02 +02:00
Slavi Pantaleev
e09ea540a0 matrix-synapse: prefer local sockets for db connections 2026-03-17 15:35:02 +02:00
Slavi Pantaleev
bd614abd30 matrix-synapse: avoid network wiring for socket-based db access 2026-03-17 15:35:02 +02:00
Slavi Pantaleev
b6f8a59b50 matrix-synapse: make managed service topology explicit 2026-03-17 15:35:02 +02:00
renovate[bot]
b7d501802c chore(deps): update dependency ntfy to v2.19.2-0 2026-03-17 12:02:14 +02:00
renovate[bot]
1c98e76423 chore(deps): update dependency grafana to v11.6.5-8 2026-03-17 12:01:56 +02:00
renovate[bot]
cb7b13daad chore(deps): update dock.mau.dev/mautrix/twitter docker tag to v0.2603.0 2026-03-16 23:21:19 +02:00
renovate[bot]
7e8f3250f7 chore(deps): update dock.mau.dev/mautrix/slack docker tag to v0.2603.0 2026-03-16 23:21:06 +02:00
renovate[bot]
e145bffb7e chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2603.0 2026-03-16 23:20:31 +02:00
renovate[bot]
c3156a1a99 chore(deps): update ghcr.io/element-hq/element-call docker tag to v0.18.0 2026-03-16 23:19:11 +02:00
Slavi Pantaleev
f9811a0e0a matrix-authentication-service: mount Synapse Postgres socket for syn2mas
syn2mas reads Synapse's homeserver.yaml and reuses the database
connection details from there.

When Synapse is configured to reach the integrated Postgres over a UNIX socket,
the temporary syn2mas container was given the config file but not the socket mount,
so migrations could fail even though Synapse itself was configured correctly.

Wire the Synapse socket settings into MAS via playbook vars and mount
the same socket path into the syn2mas container, so migrations work in
socket-based deployments without coupling the MAS role directly to
Synapse role variables.
2026-03-16 22:43:02 +02:00
Slavi Pantaleev
1dac2b5c14 matrix-bridge-hookshot: normalize generated passkey ownership
Similar to c6d33b819. See https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5033
2026-03-16 16:50:40 +02:00
Slavi Pantaleev
c6d33b819a matrix-authentication-service: normalize generated key ownership
Fix host-generated MAS key ownership and mode after creation so installs recover cleanly when become_user is not honored. Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5033
2026-03-16 16:49:51 +02:00
renovate[bot]
7e0d86d2ea chore(deps): update ghcr.io/etkecc/postmoogle docker tag to v0.9.29 2026-03-16 11:27:51 +02:00
renovate[bot]
a035d77b1a chore(deps): update dependency ntfy to v2.19.1-0 2026-03-16 11:27:09 +02:00
renovate[bot]
9934bc3e39 chore(deps): update dependency charset-normalizer to v3.4.6 2026-03-16 06:45:30 +02:00
renovate[bot]
a2fd140a61 chore(deps): update dependency ntfy to v2.19.0-0 2026-03-16 06:45:21 +02:00
Slavi Pantaleev
5df7e678f7 matrix-synapse: add an explicit msc4306 feature toggle
Expose Synapse's `msc4306_enabled` experimental flag as a first-class MDAD
variable and wire it into `homeserver.yaml` alongside the other experimental
feature toggles.

This makes thread-subscriptions support explicit in playbook configuration,
rather than requiring operators to inject the upstream flag via raw
`matrix_synapse_configuration_extension_yaml`.

The variable intentionally controls only the Synapse feature flag. It does not
change the default `thread_subscriptions` worker count, which remains `0` in the
standard presets. Keeping those as separate choices avoids auto-starting an
experimental worker just because the upstream feature toggle is enabled.

Refs:
- b99a58719b/synapse/config/experimental.py (L600-L602)
- b99a58719b/synapse/rest/client/versions.py (L183-L184)
2026-03-15 01:26:53 +02:00
Slavi Pantaleev
9af79ce4d2 matrix-synapse: support thread_subscriptions stream writers
Add `thread_subscriptions` as a supported web-facing stream writer in MDAD and
route its unstable client endpoints via the same explicit writer-or-main model
used for the other web-facing stream-backed APIs.

This is not just another generic worker route. Current Synapse gives thread
subscriptions their own `writers.thread_subscriptions` configuration, backs them
with a multi-writer stream, and asserts on store writes that the current
instance is an allowed thread-subscriptions writer.

Explicit early routing is also required here because the subscription endpoint is
room-scoped. In MDAD's specialized-worker model, the existing room-worker regex
would otherwise match `/_matrix/client/unstable/io.element.msc4306/rooms/...`
and steal the request before it reached the correct writer-or-main fallback.

Unlike `device_lists`, support is added without enabling a thread-subscriptions
worker by default in the standard presets. The underlying MSC4306/4308 feature
remains unstable and disabled by default upstream, so the conservative default
is to keep the worker count at `0` and let the new explicit routes fall back to
`main` unless an operator opts in.

Refs:
- b99a58719b/synapse/config/workers.py (L175-L182)
- b99a58719b/synapse/rest/client/thread_subscriptions.py (L38-L247)
- b99a58719b/synapse/storage/databases/main/thread_subscriptions.py (L66-L83)
- b99a58719b/synapse/storage/databases/main/thread_subscriptions.py (L192-L322)
2026-03-15 01:16:24 +02:00
Slavi Pantaleev
0f687a69c5 matrix-synapse: simplify redundant SSO main-override regexes
MDAD keeps `/_synapse/client/*` out of the broad worker-routing model.
Those paths are mounted by current Synapse on client-serving workers, but MDAD's
worker route buckets only match `/_matrix/client/*`, so `/_synapse/client/*`
requests already fall through to the main-process default.

That made the `/_synapse/client/*` branches in the dedicated SSO override regex
redundant. Remove those branches and leave the explicit SSO override focused on
the real `/_matrix/client/.../login/sso/redirect` path family, which would
otherwise be caught by the broad `/login` client-reader routing.

This also removes duplicated ownership of `login/sso/redirect` from the generic
main-override regex so the dedicated SSO override is the single place that
models that path.

Refs:
- b99a58719b/synapse/app/generic_worker.py (L197-L203)
- b99a58719b/synapse/rest/synapse/client/__init__.py (L39-L90)
- b99a58719b/synapse/rest/client/login.py (L636-L643)
2026-03-15 01:02:19 +02:00
Slavi Pantaleev
ec36904671 matrix-synapse: route MSC3814 dehydrated-device APIs to workers
Add the unstable MSC3814 dehydrated-device endpoints to both MDAD
worker-routing models:

- the specialized client_reader bucket
- the broad generic_worker route list

This is not a docs-driven change. Current workers.md does not meaningfully
spell out these paths, but the current Synapse code does mount them via the
normal devices servlet registration path, and non-main client workers do not
skip that servlet group.

That makes these endpoints a good fit for the same worker buckets that already
handle the surrounding device- and E2EE-related client APIs.

Refs:
- b99a58719b/docs/workers.md (synapseappgeneric_worker)
- b99a58719b/synapse/rest/client/devices.py (L256-L459)
- b99a58719b/synapse/rest/__init__.py (L81-L129)
- b99a58719b/synapse/rest/__init__.py (L179-L197)
2026-03-15 00:39:25 +02:00
Slavi Pantaleev
69df322f40 matrix-synapse: split client_reader routes into grouped regexes
The client_reader route bucket had collapsed into one long alternation,
which made small worker-audit edits hard to review. Any endpoint change
rewrote the whole regex and obscured whether we were changing routing
policy or just maintaining the route list.

Refactor the variable into grouped regex entries with comments instead.
This keeps the current specialized-worker policy intact: nginx still
renders the client_reader locations in the same block, and the routes
still target the same upstream bucket. The goal here is to make future
doc/code audits, additions, and removals mechanical and reviewable.

This also matches MDAD's current worker model, where generic workers are
not mixed with the specialized room/sync/client/federation reader
routing buckets, so there is no need to derive this from the generic
worker map.

Refs:
- b99a58719b/docs/workers.md (historical-apps)
- b99a58719b/docs/workers.md (synapseappgeneric_worker)
2026-03-15 00:29:32 +02:00
Slavi Pantaleev
c0044a9b0a matrix-synapse: route MatrixRTC transport discovery to workers
Current Synapse registers the MatrixRTC transport discovery endpoint on
client-serving workers when MSC4143 is enabled, but MDAD does not model
that path in either its client-reader bucket or its broader generic-
worker endpoint list.

Add the unstable MatrixRTC transport discovery route so MDAD's worker
routing matches the current upstream worker surface for this endpoint.
This is a small, isolated routing addition for a simple authenticated
GET endpoint.

Refs:
- b99a58719b/synapse/rest/client/matrixrtc.py (L30-L52)
- b99a58719b/synapse/rest/__init__.py (L81-L129)
- b99a58719b/synapse/rest/__init__.py (L179-L197)
2026-03-15 00:11:58 +02:00
Slavi Pantaleev
63a0e8216b matrix-synapse: route account deactivation like current Synapse
Current Synapse still documents and registers
`/_matrix/client/.../account/deactivate` on client-serving workers when
auth is not delegated. MDAD already routes neighboring account endpoints
such as `account/3pid` and `account/whoami`, but it omitted
`account/deactivate` from both its client-reader bucket and its broader
generic-worker endpoint list.

Add the missing route patterns so MDAD's worker routing matches the
current upstream worker surface in non-delegated-auth deployments. In
MAS / MSC3861 mode the endpoint is not registered upstream anyway, so
this does not expand the effective delegated-auth surface.

Refs:
- b99a58719b/docs/workers.md (synapseappgeneric_worker)
- b99a58719b/synapse/rest/client/account.py (L284-L324)
- b99a58719b/synapse/rest/client/account.py (L913-L920)
2026-03-14 23:49:20 +02:00
Slavi Pantaleev
975f14d2d8 matrix-synapse: route the current Nheko summary endpoint
Synapse currently supports both the deprecated
`/_matrix/client/unstable/im.nheko.summary/rooms/<room>/summary`
route and the recommended
`/_matrix/client/unstable/im.nheko.summary/summary/<room>`
form. MDAD only matched the deprecated shape.

Add the recommended pattern alongside the old one so worker routing
matches the current upstream API surface while preserving backward
compatibility for the deprecated path.

Refs:
- b99a58719b/docs/workers.md (synapseappgeneric_worker)
- b99a58719b/synapse/rest/client/room.py (L1716-L1728)
2026-03-14 23:32:10 +02:00
Slavi Pantaleev
d80ef72fbe matrix-synapse: remove stale client-reader residue and refresh worker comment
Current Synapse no longer exposes device management under
`/_matrix/client/.../account/devices`. The live client API shape is
`/devices`, `/devices/{device_id}`, and `/delete_devices`, and
MDAD already routes those real device-list-sensitive endpoints through
explicit device-list handling.

Keeping `account/devices` in the old client-reader regex therefore only
preserves stale route-model residue. While touching the same area,
refresh the `/_synapse/client/*` comment to reflect current Synapse:
client-serving generic workers now mount a meaningful Synapse-specific
client tree there, but MDAD still intentionally keeps those paths out of
its broad worker regexes because they are deployment-sensitive and
auth-sensitive.

Refs:
- b99a58719b/docs/workers.md (historical-apps)
- b99a58719b/synapse/rest/client/devices.py (L49-L150)
- b99a58719b/synapse/rest/synapse/client/__init__.py (L39-L88)
2026-03-14 23:31:51 +02:00
Slavi Pantaleev
dfe8628fbf matrix-synapse: add routing-focused reverse-proxy access log preset 2026-03-14 02:56:48 +02:00
Slavi Pantaleev
a3ff72ebff matrix-synapse: enable push_rules writer in worker presets 2026-03-14 01:50:07 +02:00
Slavi Pantaleev
df76b1cd5b matrix-synapse: enable device_lists writer in worker presets 2026-03-14 01:49:45 +02:00
Slavi Pantaleev
dafac35a0e matrix-synapse: route stream-backed client endpoints explicitly and add device_lists stream writer support
Some client API endpoints (e.g. keys/upload) are backed by Synapse stream writers and
should not rely on broad worker regexes or route-order fallthrough for correctness.

When explicit per-stream routing is missing, requests may be captured by generic, room, or client_reader workers, instead of:
- going to the configured stream writer
- or to `main` when that stream writer is not enabled

This refactors synapse-reverse-proxy-companion's routing so that web-facing stream-backed endpoint families
are handled explicitly and early, with deterministic writer-or-main fallback.

Add first-class support for the missing `device_lists` stream writer,
generalize the same routing model to `push_rules`,
and remove stale broad-route ownership for device-list-sensitive endpoints.
2026-03-14 01:42:08 +02:00
dependabot[bot]
980d1ccc5b Bump ansible/ansible-lint from 26.1.1 to 26.3.0
Bumps [ansible/ansible-lint](https://github.com/ansible/ansible-lint) from 26.1.1 to 26.3.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v26.1.1...v26.3.0)

---
updated-dependencies:
- dependency-name: ansible/ansible-lint
  dependency-version: 26.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-13 16:11:36 +02:00
Suguru Hirahara
f9fa63fc7e Add noqa var-naming to matrix_client_fluffychat_config_defaultHomeserver
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-03-12 14:48:43 +09:00
renovate[bot]
021285d8d2 chore(deps): update dependency cinny to v4.11.1-0 2026-03-11 20:04:50 +02:00
renovate[bot]
e2d2a341a8 chore(deps): update dependency sphinx-markdown-builder to v0.6.10 2026-03-11 14:50:14 +02:00
renovate[bot]
79a4156a78 chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.149.1 2026-03-11 12:26:30 +02:00
renovate[bot]
d12970c0fd chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026.3.11 2026-03-11 12:19:32 +02:00
Slavi Pantaleev
d4e8da3e0a Bump default OpenAI text-generation model (gpt-5.2 -> gpt-5.4) 2026-03-11 10:05:46 +02:00
renovate[bot]
2237b53979 chore(deps): update dependency traefik to v3.6.10-1 2026-03-11 02:17:55 +02:00
renovate[bot]
0320e671e3 chore(deps): update nginx docker tag to v1.29.6 2026-03-11 01:47:55 +02:00
Jakob S.
0c4bce582f Fix user-verification-service room membership check 2026-03-11 00:57:04 +02:00
renovate[bot]
4e3658bb98 chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.149.0 2026-03-10 22:43:44 +02:00
renovate[bot]
94beb79279 chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.12 2026-03-10 22:06:25 +02:00
Slavi Pantaleev
ac559889f9 Upgrade Sable (v1.6.0-0 -> v1.6.0-1) 2026-03-10 21:50:14 +02:00