Commit Graph

2362 Commits

Author SHA1 Message Date
Slavi Pantaleev 267d578393 Rename matrix_rustpush_bridge_* variables to matrix_bridge_rustpush_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev b68674d5da Rename matrix_postmoogle_* variables to matrix_bridge_postmoogle_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev ceb178008f Rename matrix_mx_puppet_steam_* variables to matrix_bridge_mx_puppet_steam_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev 7380cbdc3c Rename matrix_mx_puppet_groupme_* variables to matrix_bridge_mx_puppet_groupme_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev 97077e2f13 Rename matrix_meshtastic_relay_* variables to matrix_bridge_meshtastic_relay_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev 4d6b68a5da Rename matrix_mautrix_whatsapp_* variables to matrix_bridge_mautrix_whatsapp_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev 54020894b4 Rename matrix_mautrix_twitter_* variables to matrix_bridge_mautrix_twitter_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev e751673b0d Rename matrix_mautrix_telegram_* variables to matrix_bridge_mautrix_telegram_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev ace4edb01b Rename matrix_mautrix_slack_* variables to matrix_bridge_mautrix_slack_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev bb225546bd Rename matrix_mautrix_signal_* variables to matrix_bridge_mautrix_signal_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev ca301ffde0 Rename matrix_mautrix_meta_messenger_* variables to matrix_bridge_mautrix_meta_messenger_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev ba0fd18361 Rename matrix_mautrix_meta_instagram_* variables to matrix_bridge_mautrix_meta_instagram_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev 5d19e75236 Rename matrix_mautrix_gvoice_* variables to matrix_bridge_mautrix_gvoice_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:14 +03:00
Slavi Pantaleev b2fb403d31 Rename matrix_mautrix_googlechat_* variables to matrix_bridge_mautrix_googlechat_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev 5ff45d47c3 Rename matrix_mautrix_gmessages_* variables to matrix_bridge_mautrix_gmessages_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev 2241a2dedb Rename matrix_mautrix_discord_* variables to matrix_bridge_mautrix_discord_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev 6768ada899 Rename matrix_mautrix_bluesky_* variables to matrix_bridge_mautrix_bluesky_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev 7ccc9c515e Rename matrix_hookshot_* variables to matrix_bridge_hookshot_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev 6e4992a2fe Rename matrix_heisenbridge_* variables to matrix_bridge_heisenbridge_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev 62b5375815 Rename matrix_beeper_linkedin_* variables to matrix_bridge_beeper_linkedin_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev 98269653b2 Rename matrix_appservice_irc_* variables to matrix_bridge_appservice_irc_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev dc16f09e78 Rename matrix_appservice_discord_* variables to matrix_bridge_appservice_discord_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
Slavi Pantaleev d9bee18ddd Rename matrix_mautrix_wsproxy_* variables to matrix_bridge_mautrix_wsproxy_*
Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

The companion appservice variables defined by this role are folded
under the role prefix as well: matrix_mautrix_androidsms_* becomes
matrix_bridge_mautrix_wsproxy_androidsms_* and matrix_mautrix_imessage_*
becomes matrix_bridge_mautrix_wsproxy_imessage_*.

matrix_mautrix_signal_wsproxy_syncproxy_connection_string becomes
matrix_bridge_mautrix_wsproxy_syncproxy_connection_string, aligning it
with the sibling matrix_bridge_mautrix_wsproxy_syncproxy_* variables.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:12:13 +03:00
jasonlaguidice 0d5b0d77b8 Add forgotten trailing newline 2026-07-16 07:09:56 +03:00
jasonlaguidice 145403217c Update documentation and disable enhanced presence by default for rustpush & steam 2026-07-16 07:09:56 +03:00
Aine 5da2d0e4a5 add Google Voice bridge, fixes #3574 (#5426) 2026-07-15 19:15:58 +01:00
Slavi Pantaleev 23783f87bc Clarify when disabling the federation port applies in the CDN guide
The CDN section of the federation documentation tells users to set
matrix_synapse_federation_port_enabled: false, which only works because
that recipe moves federation traffic to the client port. Followed
partially (keeping federation on the dedicated federation port behind a
fronting reverse proxy), the same line removes the federation route
entirely and breaks federation. Say so explicitly.

Fixes #4475

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 13:31:41 +03:00
Slavi Pantaleev eb0af09bf5 Remove the appservice-kakaotalk bridge
The bridge could only be installed by self-building its source code,
and its upstream repository (on src.miscworks.net) has become
unreachable (the Internet Archive last saw it alive in May 2026),
making installation impossible. The bridge was also based on the
long-unmaintained node-kakao library and carried a warning that using
it may get KakaoTalk accounts banned.

The playbook catches leftover matrix_appservice_kakaotalk_* variables
and points users to the manual uninstallation instructions.

Related to #5068

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 13:31:41 +03:00
Slavi Pantaleev de1ba73f40 Add dedicated CAPTCHA variables to matrix-authentication-service
Matrix Authentication Service supports CAPTCHA protection (ReCaptcha
v2, Cloudflare Turnstile, hCaptcha) for certain operations like
self-service password registration, but configuring it required going
through matrix_authentication_service_configuration_extension_yaml.
Expose it via dedicated variables
(matrix_authentication_service_config_captcha_service, _site_key and
_secret_key), validate the service value and key presence, and document
the setup in the captcha documentation page, which so far only covered
Synapse and Dendrite.

Related to #5344

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 07:29:35 +03:00
Slavi Pantaleev d2f1fa74cc Document homeserver requirements for hookshot's end-to-bridge encryption
Enabling matrix_hookshot_encryption_enabled configures the bridge side
correctly (registration flags, Valkey cache), but hookshot's encryption
also needs the homeserver to support and enable MSC2409 and MSC3202,
which are typically experimental features disabled by default. Nothing
documented that, so the resulting setup silently did not work.

Reference the MSCs in the variable's comment, and show the exact Synapse
settings in the hookshot documentation page. The playbook deliberately
does not auto-enable them: they are experimental homeserver-wide
features, and flipping them from a bridge toggle would be surprising.

Fixes #3861

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 06:01:27 +03:00
Slavi Pantaleev 5a9e34c563 Document that Synapse cache autotuning limits apply per process
The autotuning defaults are derived from total system RAM, but every
Synapse process (the main one and each worker) applies the configured
limits independently, so worker setups multiply the theoretical
aggregate cache memory usage.

Fixes #3336

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 14:56:48 +03:00
Slavi Pantaleev 534631c1e7 Document Synapse database restore pitfalls per the official backup guide
Add the two remaining hints from the official Synapse backup guide:

- never import a dump into a database that already has tables present
  (at best it errors, at worst it causes subtle inconsistencies)
- when restoring a backup older than the server's current state,
  truncate e2e_one_time_keys_json before starting Synapse, so used
  one-time keys are not re-issued (which causes decryption errors);
  our pg_dumpall-based backup commands include that table

Fixes #4004

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 14:34:45 +03:00
Slavi Pantaleev 90d486c4f6 Correct CORS guidance for 302-redirect based well-known setup
The docs claimed that reverse-proxying "or simply a 302 redirect" needs
no CORS headers. That is only true for reverse-proxying: browsers apply
CORS checks to every response in a redirect chain, so a redirect
response itself must also carry Access-Control-Allow-Origin, otherwise
web clients fail even though the final destination sets the header.

Fixes #4650

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 16:35:07 +03:00
Slavi Pantaleev f8539f4cbf Fix Traefik router name in SRV server delegation docs
The wildcard certificate examples attached tls.domains labels to a
router named matrix-synapse-federation-api, but the Synapse role
actually names it matrix-synapse-public-federation-api (see
templates/synapse/labels.j2), so the documented labels matched nothing
and the certificate configuration silently did not apply.

Fixes #3129

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 15:30:58 +03:00
Slavi Pantaleev deb19c46a8 Document rsync as a server-side prerequisite for media store import
The import-synapse-media-store task synchronizes the media store with
ansible.posix.synchronize delegated to the server itself, which requires
the rsync binary on the server. Nothing in the playbook installs it, so
the import failed on minimal systems with "Failed to find required
executable rsync". Document the prerequisite.

Fixes #2551

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 15:03:05 +03:00
Slavi Pantaleev 2fe710bdb4 Document Caddy directive-order pitfall for well-known reverse-proxying
Caddy evaluates directives according to its own fixed directive order,
not their order in the Caddyfile. redir runs before reverse_proxy, so a
redirect elsewhere in the same site block silently shadows the
/.well-known/matrix reverse-proxying. Add a note and a handle-block
example that enforces the intended priority.

Fixes #1080

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 15:02:20 +03:00
Slavi Pantaleev fa8c764708 Fix up devcontainer config (REUSE, strict JSON, image bump) and mention it in docs
- add SPDX licensing information for REUSE compliance
- drop the JSONC comment from devcontainer.json, keeping it strict JSON
  (as required by the check-json pre-commit hook)
- bump the base image to the current ghcr.io/devture/ansible release
- mention the dev container in docs/ansible.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 18:36:27 +03:00
Slavi Pantaleev e6a8de7cec Document pulling the sudo password from pass via the passwordstore lookup
Based on https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4219 by @mcnesium

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 16:52:18 +03:00
Slavi Pantaleev 7ae2f46bf7 Add Commet to the client list in configuring-playbook.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 16:35:08 +03:00
Slavi Pantaleev 7833006b07 Merge pull request #5005 from TheDataLeek/tdl/commet-docs
Add Commet client documentation
2026-07-12 16:33:27 +03:00
Slavi Pantaleev 80c2624454 Add add-inventory-host command for bootstrapping the inventory
Running `just add-inventory-host example.com 1.2.3.4` (or
`make add-inventory-host domain=example.com ip=1.2.3.4`) adds a new
host to the inventory, creating inventory/hosts and
inventory/host_vars/matrix.DOMAIN/vars.yml from the example files,
with strong secrets generated automatically.

Existing configuration is never overwritten. The command refuses to
run if the host is already in the inventory, so it can also be used
for adding more hosts later.

Based on the idea proposed in
https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4682 by @Ser5

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 16:08:09 +03:00
Slavi Pantaleev b57ac50c81 Merge pull request #5288 from luixxiul/remove-matrix-bot-matrix-registration-bot
Remove matrix-registration-bot
2026-07-12 14:49:12 +03:00
Suguru Hirahara e6e0df3d32 Update faq.md: add a section about removed roles
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-07-12 14:44:27 +03:00
Suguru Hirahara d8742b0624 Update docs
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-07-10 02:05:47 -04:00
Suguru Hirahara c146892b25 Update installing.md: add a section about native clients
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-06-29 20:49:43 +03:00
cksit ee1cd217a8 Add Synology DSM support (#5315)
Adds optional support for running the playbook on Synology DSM 7+, detected
automatically via /etc/synoinfo.conf so that non-Synology hosts are unaffected.

Includes DSM-native user/group management (synouser/synogroup), a requests
version constraint for Docker SDK compatibility, and a boot-fix service that
re-shares the volume mount and starts matrix services skipped by DSM's boot
ordering. The shared-mount volume path is configurable via
matrix_base_synology_volume_path, and the make-shared step only runs when the
volume is not already shared.

Co-authored-by: CKSit <sitchiuki@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 19:45:01 +03:00
Slavi Pantaleev 00f39e3b1d Document mautrix bridge HTTP API exposure (for mautrix-manager and similar)
Add a "Expose the bridge's API" section to the common mautrix bridges
documentation page (covering the /bridges/<bridge> path, the
/.well-known/matrix/mautrix auto-discovery file, how to disable it, and
the custom-bridges hook), plus a CHANGELOG entry announcing the feature.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 19:05:16 +03:00
Aine d61979a0b9 baibot: add venice wiring 2026-06-28 19:50:08 +03:00
Aine 3fed0f1bb4 add link to Ketesa website <https://ketesa.app> 2026-06-28 11:02:51 +01:00
Jason LaGuidice 11cd178cb2 Add matrix-rustpush-bridge (iMessage)
Add the matrix-rustpush-bridge role, a Matrix <-> iMessage bridge built
on the mautrix-go bridgev2 framework using RustPush (OpenBubbles backend).

Unlike the existing mautrix-imessage/wsproxy bridge, it talks directly to
Apple's push notification service, so it needs neither a running Mac nor a
wsproxy on the homeserver. Each user supplies a hardware key extracted from a
Mac through the bridge bot's login flow.

The bridge uses its own bot username and puppet namespace (rustpushbot,
rustpush_*) so it does not collide with the wsproxy iMessage bridge.

This bridge is in early development and may have stability issues.
2026-06-24 11:17:09 +03:00