Commit Graph

68 Commits

Author SHA1 Message Date
Slavi Pantaleev
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
Slavi Pantaleev
6da1223500 Rename _requires_restart to _migration_requires_restart across all custom roles
These variables track whether a database migration necessitates a service
restart. The new name avoids confusion with the conditional restart
feature introduced in af193043/9accc848/4a8df138, where
devture_systemd_service_manager handles restarting services whose
configuration or image changed. The old _requires_restart name was
ambiguous — it could be mistaken for the systemd_service_manager
mechanism — so _migration_requires_restart makes the purpose explicit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:46:06 +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
renovate[bot]
f3020a8ce6 chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.2511.0 2025-11-16 15:07:26 +02:00
Benjamin Blacher
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
Benjamin Blacher
31f1d40a9f Fix GM displaynames, append (GMessages) by default 2025-10-18 06:40:38 +03:00
renovate[bot]
3ff32ec07a chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.2510.0 2025-10-16 16:18:52 +03:00
Slavi Pantaleev
2ea4384840 Add --no-update to mautrix-whatsapp and mautrix-gmessages
All other mautrix bridges already had `--no-update`.
For some reason, these 2 didn't.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4585
2025-09-21 10:01:59 +03:00
renovate[bot]
beaf0ba16e Update dock.mau.dev/mautrix/gmessages Docker tag to v0.7.0 2025-09-17 06:52:07 +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]
bb322ad692 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.5 2025-08-16 17:47:22 +03:00
Slavi Pantaleev
51ab9ed9ff Adjust lstrip_blocks to use a bool value for compatibility with ansible-core>=2.19.0
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 17:58:12 +03:00
Slavi Pantaleev
a1f6ee4dc9 Improve compatibility with ansible-core>=2.19.0 by not reaching into vars
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 17:50:20 +03:00
renovate[bot]
a04a72d4e5 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.4 2025-07-17 06:29:23 +03:00
renovate[bot]
30875764c5 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.3 2025-06-16 23:12:17 +03:00
renovate[bot]
ef5be1d138 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.2 2025-05-16 09:09:51 +03:00
Slavi Pantaleev
3ee7deb2d7 Rename variable (matrix_user_groupname -> matrix_group_name) 2025-04-29 10:39:41 +03:00
Slavi Pantaleev
9fc5cdab33 Rename variable (matrix_user_username -> matrix_user_name) 2025-04-29 10:39:41 +03:00
Slavi Pantaleev
98e4f369b7 Add receive_ephemeral everywhere de.sorunome.msc2409.push_ephemeral is used
Ref:

- 33f3ccd6ae/CHANGELOG.md (L134-L136)
- 7165d3fa58/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
Onestacked
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]
fb004dfc75 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.1 2025-03-16 20:51:11 +02:00
Suguru Hirahara
c18fc93a22 Update validate_config.yml files: edit the banner message for variables name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:30:50 +09:00
Suguru Hirahara
053a0e8b99 Add license information to files for matrix-bridge-mautrix-gmessages
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 16:04:24 +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
Slavi Pantaleev
d12643eb91 Do not use docker stop --time (deprecated in Docker v28 in favor of --timeout or just -t)
`-t` works on both old and new Docker versions, so it's best to use that.
2025-02-22 21:42:18 +02: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]
1032cbd11a chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.6.0 2024-12-17 08:39:34 +00:00
renovate[bot]
ce46511563 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.5.2 2024-11-16 16:33:53 +00:00
Suguru Hirahara
55fcaac1f1 Fix capitalization: matrix → Matrix
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-18 23:35:10 +09:00
renovate[bot]
3405dd9ec8 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.5.1 2024-10-16 11:12:35 +00:00
Slavi Pantaleev
cf0793bd9f Move Gmessages encryption.pickle_key to a variable
Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3538

See: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3538#issuecomment-2405780285
2024-10-11 15:03:25 +03:00
Slavi Pantaleev
ec5e379672 Update old references to com.devture.ansible.role.postgres & com.devture.ansible.role.traefik
Provoked by https://github.com/mother-of-all-self-hosting/mash-playbook/pull/280
2024-10-07 08:46:33 +03:00
Slavi Pantaleev
8445843562 Switch postgres/postgres-backup Ansible role sources and adjust variable names (devture_postgres_ -> postgres_) 2024-09-27 09:37:24 +03:00
David Mehren
c89c356e53 Add a global config option for Docker network MTU (#3502)
* Add a global config option for Docker network MTU

* Upgrade systemd_docker_base (v1.2.0-0 -> v1.3.0-0)

The new version includes `devture_systemd_docker_base_container_networks_driver_options`
due to 3cc7d12396

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3502

* Switch from passing matrix_playbook_docker_network_mtu to respecting devture_systemd_docker_base_container_networks_driver_options

Related to:
- 3cc7d12396
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3502

* Update all roles to versions that respect `devture_systemd_docker_base_container_networks_driver_options`

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-09-18 16:20:27 +03:00
Slavi Pantaleev
d3b1060428 Fix Gmessages regression (missing homeserver.address and homeserver.domain configuration)
f9705b3323 reworked the configuration and missed wiring
these to the existing variables.
2024-09-17 16:04:39 +03:00
Slavi Pantaleev
53f3c94bef Enable backfilling for mautrix-gmessages, mautrix-signal and mautrix-slack
We'be already been going against upstream defaults and have been
enabling backfilling for a few other bridges (Messenger, Instagram, Telegram, Twitter).

Now I'm enabling backfilling by default for the remaining ones, for
consistency.
2024-09-17 09:39:35 +03:00
Slavi Pantaleev
f9705b3323 Upgrade mautrix-gmessages (v0.4.3 -> v0.5.0) and adapt configuration
Related to:
- https://github.com/mautrix/gmessages/releases/tag/v0.5.0
- https://mau.fi/blog/2024-09-mautrix-release/

It seems like the new version does not support a `/metrics` endpoint.
We skip keep the Ansible variables, but they're not doing anything.
2024-09-17 09:39:35 +03:00
Slavi Pantaleev
48bab2f0ea Add appservice-double-puppet double-puppeting support to mautrix-gmessages
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 21:22:35 +03:00
renovate[bot]
c08ed10f3c chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.4.3 2024-07-16 13:13:29 +00:00
renovate[bot]
58a99502ab chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.4.2 2024-06-16 21:59:30 +00:00
Slavi Pantaleev
9f2eff2ac7 Respect devture_systemd_docker_base_docker_service_name
Related to 0241c71a4c

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]
9fcc4df913 chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.4.1 2024-05-16 21:33:47 +00:00
renovate[bot]
951c06ebb5 chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.4.0 2024-04-16 11:51:14 +00:00
Slavi Pantaleev
3758b0cfeb Squashed commit of the following:
commit cf8637efaca0a0be3609fd6add0dff893a0a9194
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sun Mar 24 19:14:57 2024 +0200

    Make devture_systemd_docker_base_ipv6_enabled automatically reconfigure geerlingguy/ansible-role-docker

    Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3218

commit dc7af3bc7d25f321bf409477d823e43ea8a05803
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sun Mar 24 19:10:31 2024 +0200

    Replace matrix_ipv6_enabled with devture_systemd_docker_base_ipv6_enabled

    Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3218

commit 07e900d6a2926233a4fce34d9d8be292ff115260
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sun Mar 24 19:01:51 2024 +0200

    Improve matrix_ipv6_enabled comments

commit 3f03ca7f6983cb06b64607efef7a96b30c7def5b
Author: Tilo Spannagel <development@tilosp.de>
Date:   Sat Mar 9 19:27:50 2024 +0000

    Add setting to enable ipv6
2024-03-24 19:15:43 +02: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]
6b44183770 chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.3.0 2024-03-16 14:34:55 +00:00
Slavi Pantaleev
51df34e7ae Ensure each container labels file defines at least one service
Most of these files were defining a service, usually toward the end.
These lines have been moved upward.

Some components (mautrix-signal, mautrix-gmessages, etc.) were defining
a service conditionally (only if metrics are exposed, etc). This was
causing issues like these in the Traefik logs:

> level=error msg="service \"matrix-mautrix-twitter\" error: port is missing" providerName=docker container=matrix-mautrix-twitter-..
2024-01-17 17:56:45 +02:00
renovate[bot]
fba9addb03 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.2.4 2024-01-16 21:36:04 +00:00
Slavi Pantaleev
48a4afb114 Make Traefik labels files look better
This moves the comments from being just in Jinja,
to actually ending up in the generated `labels` file,
which makes inspection of the final result easier.

Also, some new lines were added here and there to make labels
more legible.

The generated file may still include weird new-lines due to
various `if` statements yielding content or not, but that's not so ugly
anymore - now that we have proper start/end sections that are visible in
the final `labels` file.
2024-01-15 10:41:15 +02:00