Commit Graph
80 Commits
Author SHA1 Message Date
mdad-renovate[bot]andGitHub a5e3f68466 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.2610.0 2026-10-16 18:10:31 +00:00
Slavi PantaleevandClaude Opus 5.5 bff3f54d53 Harden pre-start container cleanup against name-release races
Containers are created with `--rm`, so Docker removes them asynchronously after they stop.
The pre-start `docker rm` returns immediately while that removal is still in progress
(its error is suppressed), and the following `docker create --name` can fail with
"The container name ... is already in use".

This is easy to hit since systemd_service_manager switched its default restart mode to `all-at-once`:
many containers stop and start at the same time and Docker falls behind on removals.
The playbook then fails at "Restart systemd services needing restart at once",
even though the services recover on their own (`Restart=always`) a little later.

The external roles (MASH, devture) were hardened against this in 2026-03
(see mother-of-all-self-hosting/ansible-role-valkey@0ba79c0), but the roles in `roles/custom` never were.
This ports the same bounded cleanup loop to them: stop, force-remove,
and wait until Docker releases the name, failing explicitly after a timeout.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-16 19:04:04 +03:00
mdad-renovate[bot]andSlavi Pantaleev 40179e6d4a Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.2609.0 2026-09-17 09:44:07 +03:00
renovate[bot]andSlavi Pantaleev 216995dc91 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.2608.0 2026-08-16 18:44:07 +03:00
Slavi Pantaleev eab505813a Remove dead metrics support from the mautrix-whatsapp bridge
Bridges based on bridgev2 no longer expose a metrics endpoint, so the
playbook was publishing a Traefik route which could only ever yield an
HTTP 502.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5487
2026-08-04 16:59:15 +03:00
renovate[bot]andSlavi Pantaleev 770bf37c66 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.2607.0 2026-07-17 10:53:43 +03:00
Slavi PantaleevandClaude Fable 5 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 PantaleevandClaude Opus 4.8 1b9b1119a1 mautrix-whatsapp: expose bridge HTTP API (for mautrix-manager and similar)
Auto-generate the provisioning shared secret (to enable the provisioning
API), route the whole mautrix-whatsapp HTTP port via Traefik under
`<matrix-fqn>/bridges/whatsapp`, and populate appservice.public_address,
reusing the matrix_bridges_exposure_* mechanism.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 20:11:30 +03:00
renovate[bot]andSlavi Pantaleev 4f5904db0a Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.2606.0 2026-06-17 06:18:13 +03:00
renovate[bot]andSlavi Pantaleev f8f0da5690 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.2605.0 2026-05-17 07:50:59 +03:00
Slavi PantaleevandClaude Opus 4.7 f84d419baf matrix-bridge-mautrix-whatsapp: switch to modern community.docker docker_image modules
Replaces `community.docker.docker_image` with the modern
`docker_image_pull` and `docker_image_build` split modules. Drops the
`ansible_version` compatibility ladder and the now-redundant
`_container_image_force_pull` variable (the new pull module handles
registry refresh natively via `pull: always`). Also registers
`_container_image_build_result` so that a self-build rebuild correctly
triggers a service restart.

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 21:53:22 +03:00
Matěj CeplandSlavi Pantaleev e0bc2be687 Clean up ansible-lint warnings in defaults/main.yml files (#5148)
Reformat `{{ { ... }[engine] }}` dict-in-Jinja-expressions across
bot/bridge role defaults for consistent indentation (tabs -> spaces).
Also: fix a missing space in a Jinja `+` expression in matrix-static-files,
and fix indentation in the caddy2-in-container example.

The original PR also renamed `galaxy/<role>` role references to just
`<role>` in setup.yml and jitsi_jvb.yml; those were dropped here because
Ansible does not recurse into subdirectories of `roles/` by default and
no `roles_path` is configured in ansible.cfg, so the rename would break
role resolution.

Co-Authored-By: Slavi Pantaleev <slavi@devture.com>
2026-04-24 09:01:47 +03:00
renovate[bot]andSlavi Pantaleev 3890dce67a chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2604.0 2026-04-18 07:08:31 +03:00
renovate[bot]andSlavi Pantaleev e145bffb7e chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2603.0 2026-03-16 23:20:31 +02:00
Slavi PantaleevandClaude Opus 4.6 f0e0f5ec56 Rename _docker_ vars to _container_ across 34 roles
Roles affected: appservice-discord, appservice-irc, beeper-linkedin,
heisenbridge, hookshot, mautrix-bluesky, mautrix-discord,
mautrix-gmessages, mautrix-googlechat, mautrix-signal, mautrix-slack,
mautrix-twitter, mautrix-whatsapp, mautrix-wsproxy, mx-puppet-groupme,
mx-puppet-steam, postmoogle, sms, steam, cactus-comments, element,
fluffychat, schildichat, conduit, corporal, dendrite,
ldap-registration-proxy, media-repo, pantalaimon,
prometheus-nginxlog-exporter, registration, sygnal, synapse-admin,
user-verification-service.

For each role: renamed _docker_image* variables to _container_image*
(and _docker_src_files_path to _container_src_files_path where
applicable), added deprecation entries in validate_config.yml, and
updated group_vars/docs references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 08:21:13 +02:00
renovate[bot]andSlavi Pantaleev 628bddb613 chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2602.0 2026-02-17 11:20:33 +02:00
Slavi PantaleevandClaude Opus 4.6 16010ff8c7 Add conditional restart support to client, bot, and bridge roles
For each of the 34 roles (3 clients, 9 bots, 22 bridges), this commit:
- Adds `_restart_necessary: false` default variable
- Adds `register:` directives to config/image/systemd tasks
- Computes `_restart_necessary` via set_fact (OR of all .changed results)
- Wires `(_restart_necessary | bool)` in group_vars/matrix_servers

This allows the systemd service manager to skip unnecessary restarts
when running install-* tags and nothing actually changed.

Service roles and complex multi-service roles will follow separately.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 15:33:54 +02:00
renovate[bot]andSlavi Pantaleev 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]andSlavi Pantaleev 2e313f6c38 chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2512.0 2025-12-17 05:47:06 +02:00
renovate[bot]andSlavi Pantaleev 8405bbdb94 chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2511.0 2025-11-16 15:09:38 +02:00
Benjamin BlacherandSlavi Pantaleev d43f03bbca Add support for bridge self signing
This also moves msc4190 to the correct section for twitter
2025-10-18 06:41:30 +03:00
renovate[bot]andSlavi Pantaleev a254f69e56 chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2510.0 2025-10-16 16:22:45 +03:00
renovate[bot]andSlavi Pantaleev c2e606095c Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.5 2025-09-17 06:42:15 +03:00
Slavi Pantaleev 3daf14d695 Add Ansible variables to control the async_media settings in (mautrix) bridges
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4549
2025-09-06 08:03:36 +03:00
renovate[bot]andSlavi Pantaleev bb98127754 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.4 2025-08-16 17:45:37 +03:00
renovate[bot]andSlavi Pantaleev abc74a6b96 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.3 2025-07-17 10:22:32 +03:00
Slavi Pantaleev f4306be183 Extract mautrix-whatsapp's network.displayname_template configuration into a variable (matrix_mautrix_whatsapp_network_displayname_template) 2025-07-08 06:41:22 +03:00
renovate[bot]andSlavi Pantaleev 048b8eb918 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.2 2025-06-17 00:12:06 +03:00
renovate[bot]andSlavi Pantaleev ecb7ccf8cc Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.1 2025-05-16 15:12:18 +03:00
Slavi Pantaleev 98e4f369b7 Add receive_ephemeral everywhere de.sorunome.msc2409.push_ephemeral is used
Ref:

- https://github.com/mautrix/go/blob/33f3ccd6aef0a3ef3a37fefead208c6249169142/CHANGELOG.md#L134-L136
- https://github.com/mautrix/go/blob/7165d3fa583444352ea770b5c003c93a7fc6989c/appservice/registration.go#L30

Intentionally not removing the old configuration setting yet, as some bridges may/do not support
the new setting name. It's likely just bridgev2 mautrix bridges that have been updated and support both right now.
2025-04-25 17:13:38 +03:00
Slavi Pantaleev dd2f8d1150 Relax mautrix-whatsapp regex in registration file to match what mautrix-whatsapp v0.12.0 expects
Since mautrix-whatsapp v0.12.0, the bridge deals with more than just phone numbers now,
so it sometimes tries to manage users with Matrix IDs like: `@whatsapp_lid-123456789:example.com`

Ref:

- https://github.com/mautrix/whatsapp/releases/tag/v0.12.0
- https://mau.fi/blog/2025-04-mautrix-release/
2025-04-25 17:04:20 +03:00
OnestackedandGitHub 5eb247b5bf Add matrix_bridges_msc4190_enabled flag for using msc4190 on supported mautrix bridges. flag for using msc4190 on supported mautrix bridges. (#4258)
* Add matrix_bridges_msc4190_enabled flag for using msc4190 on supported mautrix bridges.

* Apply to_json to msc4190 in mautrix configs

* Add | to_json to mautrix bridge registration io.element.msc4190.

* require matrix_synapse_experimental_features_msc3202_device_masquerading_enabled for matrix_bridges_msc4190_enabled

* Also add msc4190 support for mautrix-telegram
2025-04-17 22:08:25 +03:00
renovate[bot]andSlavi Pantaleev 6915c7de12 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.0 2025-04-17 08:42:27 +03:00
renovate[bot]andSlavi Pantaleev 87d4d8b1c5 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.11.4 2025-03-17 07:02:17 +02:00
Suguru Hirahara 06340e423b Add license information to files for matrix-bridge-mautrix-whatsapp
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 21:05:18 +09:00
Slavi Pantaleev c47eca389b Rework all roles to include component_(docker|container)_image_registry_prefix* variables
This:

- brings consistency - no more mixing `_name_prefix` and `_registry_prefix`
- adds extensibility - a future patch will allow reconfiguring all registry prefixes for all roles in the playbook

We still have `_docker_` vs `_container_` inconsistencies.
These may be worked on later.
2025-02-24 11:38:47 +02:00
renovate[bot]andGitHub 4a0855db0a Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.11.3 2025-02-16 18:37:02 +00:00
Suguru Hirahara e4e34333da Update files for some mautrix bridges: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 15:34:38 +09:00
Slavi Pantaleev f8b779f8ed Add trace as a valid logging level option for mautrix bridges
bridgev2 mautrix bridges use https://github.com/tulir/zeroconfig for
logging, which does support `trace` as a logging level.
2025-01-05 09:47:57 +02:00
renovate[bot]andGitHub 8283225a0e chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.11.2 2024-12-17 08:39:28 +00:00
renovate[bot]andGitHub c7f8b7cd1a Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.11.1 2024-11-16 19:08:04 +00:00
Slavi Pantaleev bfc5374fc8 Upgrade mautrix-whatsapp (v0.10.9 -> v0.11.0) (bridgev2) and adapt configuration
Related to:
- https://github.com/mautrix/whatsapp/releases/tag/v0.11.0
- https://mau.fi/blog/2024-10-mautrix-release/
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3615
2024-10-17 16:23:13 +03:00
Slavi Pantaleev d3831ba3a5 Add appservice-double-puppet double-puppeting support to mautrix-whatsapp
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 21:04:09 +03:00
AineandGitHub 90e70530cc mautrix-whatsapp v0.10.9 2024-07-16 18:03:57 +03:00
renovate[bot]andGitHub 846a90e791 chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.10.8 2024-06-17 01:12:09 +00:00
Slavi Pantaleev 9f2eff2ac7 Respect devture_systemd_docker_base_docker_service_name
Related to https://github.com/devture/com.devture.ansible.role.systemd_docker_base/commit/0241c71a4c08ff5e203b55d50a424387e3b077c8

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3270#issuecomment-2143782962

With this change, it should be possible for people to adjust the Docker
dependency from `docker.service` to something else (e.g. `pkg-ContainerManager-dockerd.service`),
or to completely eliminate it by setting `devture_systemd_docker_base_docker_service_name` to an empty string.

This makes it easier for people to use the playbook against a Synology DSM server.
2024-06-04 13:14:34 +03:00
renovate[bot]andGitHub e1135b15e8 chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.10.7 2024-04-16 11:51:10 +00:00
gardar 23aee07cf4 feat: global option to configure all bridges encryption default
Signed-off-by: gardar <gardar@users.noreply.github.com>
2024-03-24 02:58:03 +00:00
renovate[bot]andGitHub 89a1b1a0ef chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.10.6 2024-03-16 12:57:10 +00:00
Nikolai Raitsev 68d4e04f4f allow to configure whatsapp polls via extev_polls parameter. 2024-02-09 14:17:16 +01:00