5
0
mirror of https://github.com/spantaleev/matrix-docker-ansible-deploy.git synced 2026-08-21 08:10:50 +00:00
Commit Graph

11802 Commits

Author SHA1 Message Date
Kim Brose 0bd1fa7cb8 Fix link in docs 2026-08-19 21:26:57 +03:00
Slavi Pantaleev 619aba983e Disable the broken LiveKit JWT Service container healthcheck
lk-jwt-service v0.6.0 ships a healthcheck which builds its URL as
http://localhost:$LIVEKIT_JWT_BIND/healthz, interpolating the bind
address into the port slot. We set LIVEKIT_JWT_BIND to ":8080", so the
check requests http://localhost::8080/healthz, which does not parse and
can never succeed. The container therefore sits permanently unhealthy,
Traefik skips unhealthy containers, and the service stops being routed,
so Element Call fails to obtain an SFU token.

No value satisfies both sides: the service passes LIVEKIT_JWT_BIND to
ListenAndServe, which needs a full bind address, while the healthcheck
needs a bare port. The check only works when the variable is unset and
its own "8080" fallback applies, which would mean ignoring a configured
port. Correcting the check from here is not possible either, as the
image is built FROM scratch and has no shell for a --health-cmd
override to use.

Turn the healthcheck off, behind a variable so it can be turned back on
once upstream fixes it. This restores the pre-v0.6.0 behavior, where the
image carried no healthcheck at all.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 16:03:11 +03:00
Slavi Pantaleev 8a032403d0 Upgrade playbook_help role (ea8c5cc -> 717de2c)
Failing to update the apt cache now reports why, instead of reporting that
the result of the apt module has no cache_updated attribute.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 15:08:43 +03:00
Slavi Pantaleev ddd99ba244 Point LiveKit JWT Service at our homeserver directly, instead of having it discover it
lk-jwt-service v0.6.0 stopped honoring the delay_cs_api_url request parameter
and now locates a user's Client-Server API by fetching the
/.well-known/matrix/client file of that user's base domain itself.

For our own homeserver, this makes the service leave the server over the
public network only to come back to it, which is wasteful at best and does
not work at all where the base domain is not reachable from the host.
Since we know where our homeserver is, we tell the service directly via the
new LIVEKIT_CS_API_URL_OVERRIDES environment variable. Federated homeservers
keep being resolved through discovery.

The service now also joins the container network that the homeserver's
Client-Server API is reachable on, like our other add-on services do.
It used to only be connected to it by coincidence, via the reverse-proxy
network, which left it unable to reach the homeserver when the playbook is
not managing Traefik.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 14:01:53 +03:00
renovate[bot] 1127365126 Update ghcr.io/element-hq/lk-jwt-service Docker tag to v0.6.0 2026-08-19 13:56:49 +03:00
Slavi Pantaleev 3d5eece64e matrix-tuwunel: add matrix_tuwunel_config_msc3664_related_event_match
Tuwunel v1.9.0 adds the default `.im.nheko.msc3664.reply` push rule to every
account, but only evaluates its condition when this option is on. Without it,
replies do not affect notification counts or reach pushers.

Kept off, as upstream has it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 13:42:22 +03:00
Slavi Pantaleev c075013553 matrix-tuwunel: drop the removed LDAP name_attribute option
Tuwunel v1.9.0 removes `[global.ldap] name_attribute` and no longer checks
a secondary attribute for the localpart, so a directory entry must carry it
in `uid_attribute` to allow login.

A leftover key produces no boot warning, so the playbook reports it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 13:29:33 +03:00
renovate[bot] 1576c8c677 Update ghcr.io/matrix-construct/tuwunel Docker tag to v1.9.0 2026-08-19 13:28:01 +03:00
Slavi Pantaleev 80338ba54b Remove the orphaned docs/configuring-playbook-jwt-service.md document
This document and docs/configuring-playbook-livekit-jwt-service.md were both
added in 9970603f1 (Add Element Call support), which squashed a branch that
renamed the role along the way (matrix-jwt-service ->
matrix-livekit-jwt-service). The document belonging to the old name survived
the squash, was never linked to from anywhere and was never touched again,
while the other one is the one referenced by the documentation index, the
README and the Matrix RTC and Element Call documents.

Its remaining content is covered elsewhere, and it was the only place telling
people to enable matrix_livekit_jwt_service_enabled by hand.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 13:18:36 +03:00
Slavi Pantaleev 421b592690 Stop advertising MatrixRTC transports in the client well-known
The org.matrix.msc4143.rtc_foci property has been dropped from MSC4143 and
Element Call v0.24.0 no longer reads it, so the homeserver's own RTC
transports API is left as the single source of truth. Synapse, continuwuity
and tuwunel all serve it at the unstable path which clients request.

Keeping both around also made Element Web list the same LiveKit transport
twice, as it merges the two sources without deduplicating them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 13:17:38 +03:00
Slavi Pantaleev 96d94d56d5 Derive matrix_synapse_experimental_features_msc4143_enabled from the configured transports
The RTC transports API was enabled based on matrix_rtc_enabled, while the
transports it serves were populated based on matrix_livekit_jwt_service_enabled.
Enabling the LiveKit JWT service on its own (say, when pointing it at an
externally hosted LiveKit server) therefore configured a transport but left
the API which announces it switched off.

Gating the feature on matrix_synapse_matrix_rtc_transports instead keeps the
API and its payload in sync, and makes the empty-transports case that the
variable's own documentation warns about unreachable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 13:16:48 +03:00
renovate[bot] 0023616d69 Update ghcr.io/element-hq/element-call Docker tag to v0.24.0 2026-08-19 08:07:01 +03:00
renovate[bot] e07aac7c1a Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v1.23.0 2026-08-19 08:06:01 +03:00
renovate[bot] 9291370fbb Update ghcr.io/element-hq/synapse Docker tag to v1.159.0 2026-08-19 08:05:47 +03:00
renovate[bot] 4f91fbadcf Update dependency matrix-org/synapse-s3-storage-provider to v1.7.0 2026-08-19 07:21:45 +03:00
renovate[bot] e28d2e6d01 Update dependency prometheus to v3.14.0-0 2026-08-19 07:21:07 +03:00
renovate[bot] 5c4000182c Update ghcr.io/element-hq/element-web Docker tag to v1.12.26 2026-08-19 07:20:53 +03:00
renovate[bot] c3766c78fe Update dependency idna to v3.19 (#5544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-18 23:13:51 +00:00
renovate[bot] 623b266e69 Update dependency sable to v1.21.0-0 2026-08-18 08:25:00 +03:00
renovate[bot] 543123c96c Update jeremiah-k/mmrelay Docker tag to v1.4.0 2026-08-18 08:22:24 +03:00
renovate[bot] 585ae50756 Update ghcr.io/etkecc/fluffychat-web Docker tag to v2.9.1 2026-08-17 22:09:56 +03:00
renovate[bot] 0bc562b995 Update dependency Pygments to v2.21.0 (#5538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-17 18:11:15 +00:00
renovate[bot] 8bf57477b1 Update dependency prek to v0.4.14 (#5536)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-17 13:38:11 +00:00
Slavi Pantaleev d839e45548 Ensure the homeserver accepts matrix-bot-meowlnir's appservice token before provisioning
The homeserver only reads appservice registrations on startup, and the
playbook only restarts it at the very end of a run. On the run which
first enables Meowlnir, bot provisioning therefore talked to a
homeserver still running without Meowlnir's registration, hitting
M_UNKNOWN_TOKEN and hanging indefinitely.

Provisioning now verifies the token upfront and restarts the homeserver
itself when needed, so a single run completes even when Meowlnir was
just enabled.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 09:32:14 +03:00
Slavi Pantaleev e5957ccc63 Run matrix-bot-meowlnir after the homeserver roles
Unlike the other bots, Meowlnir's ensure-matrix-users-created tasks
may need to restart the homeserver so that it picks up Meowlnir's
appservice registration. That only helps once the homeserver's
configuration has been brought up to date by its own role, so the
meowlnir role must come after it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 09:11:53 +03:00
Slavi Pantaleev c57e8fde84 Add a meowlnir-whoami diagnostic script to matrix-bot-meowlnir
Asks the homeserver who Meowlnir's appservice token belongs to.
A 401 (M_UNKNOWN_TOKEN) response means the homeserver is running
without Meowlnir's appservice registration, which is the usual cause
of Meowlnir's "Failed to connect to homeserver" log messages.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 09:03:23 +03:00
Slavi Pantaleev 74e50df931 Add request timeouts to matrix-bot-meowlnir helper scripts
Without a timeout, a request against an API which accepts connections
but never answers (e.g. Meowlnir stuck retrying against a homeserver
that rejects its appservice token) hangs the playbook forever instead
of failing with a usable error.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 08:57:56 +03:00
github-actions[bot] f936231cfe Automatic translations update 2026-08-17 07:17:48 +03:00
renovate[bot] 1887a690c7 Lock file maintenance 2026-08-17 07:17:37 +03:00
renovate[bot] 41dffae7a0 Update dock.mau.dev/mautrix/telegram Docker tag to v0.2608.0 2026-08-16 21:08:28 +03:00
Slavi Pantaleev 94bccec1ef Decouple mautrix-meta-instagram from mautrix-meta-messenger and fix Instagram self-building
Since mautrix-meta v26.07, Instagram is a separate bridge upstream (its own binary, container image and configuration schema). As of v0.2608.0, the bridge no longer has a `mode` configuration option at all, so the premise of auto-generating the Instagram role from the Messenger one (one binary, one schema, a mode switch) is gone.

- Drop the role generator (`bin/rebuild-mautrix-meta-instagram.sh` and the `just rebuild-mautrix-meta-instagram` recipe). The two roles are now maintained independently.

- Drop `matrix_bridge_mautrix_meta_instagram_meta_mode` and all mode-derived lookups from the Instagram role. Computed values are unchanged.

- Sync both config templates with the v0.2608.0 example configs: the Instagram template loses `mode` and gains the Instagram-only options; the Messenger template replaces `mode` with the new `tor` option (still derived from `matrix_bridge_mautrix_meta_messenger_meta_mode: facebook-tor`) and loses the Instagram-only `disable_xma_*` options.

- Fix self-building for the Instagram role: build via `Dockerfile.ig` (producing the actual Instagram binary at `/usr/bin/mautrix-instagram`) instead of the Messenger `Dockerfile`. A new `matrix_bridge_mautrix_meta_instagram_container_binary_path` variable points the systemd service at the right binary for self-built and prebuilt images.

- Rename the systemd service templates to role-specific file names.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5510

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 19:14:03 +03:00
renovate[bot] 216995dc91 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.2608.0 2026-08-16 18:44:07 +03:00
renovate[bot] 9c8b185e30 Update dock.mau.dev/mautrix/twitter Docker tag to v0.2608.0 2026-08-16 18:44:01 +03:00
renovate[bot] 40f894623a Update dock.mau.dev/mautrix/slack Docker tag to v0.2608.0 2026-08-16 18:43:55 +03:00
renovate[bot] 89a2f1e2cc Update dock.mau.dev/mautrix/signal Docker tag to v0.2608.0 2026-08-16 18:43:48 +03:00
renovate[bot] 93fe35ab54 Update dock.mau.dev/mautrix/meta Docker tag to v0.2608.0 2026-08-16 18:43:40 +03:00
renovate[bot] 5eab533cfe Update dock.mau.dev/mautrix/linkedin Docker tag to v0.2608.0 2026-08-16 18:40:13 +03:00
renovate[bot] 1a5ee46174 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.2608.0 2026-08-16 18:39:54 +03:00
renovate[bot] 1aa277a267 Update dock.mau.dev/maunium/meowlnir Docker tag to v0.2608.0 2026-08-16 18:35:55 +03:00
renovate[bot] 2654543d29 Update dock.mau.dev/mautrix/discord Docker tag to v0.7.7 2026-08-16 18:35:47 +03:00
renovate[bot] 6b4802ac42 Update dependency sphinx-markdown-builder to v0.6.11 2026-08-16 14:18:47 +03:00
Slavi Pantaleev 01534eb55f mise: drop the settings block - yes is ignored in project configs
Since mise 2026.6.4 (advisory GHSA-436v-8fw5-4mj8), trust-control settings
(`yes`, `ci`, `trusted_config_paths`, `paranoid`) in non-global configs are
ignored, and every mise invocation prints a warning about this one.
Removing it changes nothing on current mise - the setting was already dead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 09:12:43 +03:00
Slavi Pantaleev 4d98ca54a6 Add matrix_rtc.transports support for Synapse (MSC4143)
Enabling the MSC4143 experimental feature without configuring any transports makes Synapse serve an empty response on the RTC transports API. Clients treat that response as authoritative and do not fall back to the org.matrix.msc4143.rtc_foci property in the client well-known, breaking Element Call with a MISSING_MATRIX_RTC_TRANSPORT error.

This makes the playbook wire the LiveKit JWT service URL into the new matrix_rtc.transports Synapse setting, matching what continuwuity, tuwunel and the client well-known already advertise.

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

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 08:44:09 +03:00
Slavi Pantaleev df66f1f0b0 Restructure matrix_continuwuity_config_rtc_foci variables (_auto -> _default + _auto + _custom)
The role-constructed foci list now lives in the _default variable, freeing _auto for playbook-level injection, consistent with how other default/auto/custom variable triads work.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 17:26:41 +03:00
renovate[bot] 8961379351 Update dependency backup_borg to v1.4.5-2.1.7-0 2026-08-15 13:04:32 +03:00
renovate[bot] 7083ff75cd Update dependency charset-normalizer to v3.5.1 2026-08-15 12:50:05 +03:00
renovate[bot] d163631905 Update dependency postgres to v18.6-0 2026-08-15 09:40:39 +03:00
renovate[bot] d495df15ad Update astral-sh/setup-uv action to v10.0.1 (#5516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-14 23:57:08 +00:00
Slavi Pantaleev 48d9be19b1 Upgrade devture/ansible container image (14.0.0-r0-1 -> 14.0.0-r0-2)
The new image includes py3-regex.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 07:38:40 +03:00
renovate[bot] a17042fa1c Update dependency maunium/synapse-http-antispam to v0.5.1 2026-08-13 18:20:18 +03:00