Commit Graph
45 Commits
Author SHA1 Message Date
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]andGitHub 1b6f2e83a1 Update matrixconduit/matrix-conduit Docker tag to v0.10.15 2026-09-30 06:44:49 +00:00
mdad-renovate[bot]andGitHub 4ff6456168 Update matrixconduit/matrix-conduit Docker tag to v0.10.14 2026-09-26 22:51:37 +00:00
renovate[bot]andSlavi Pantaleev 18735b5b5c Update matrixconduit/matrix-conduit Docker tag to v0.10.13 2026-08-26 07:30:12 +03:00
Slavi PantaleevandClaude Opus 4.7 1ce8ab804f matrix-conduit: switch to modern community.docker docker_image modules
Replaces `community.docker.docker_image` with the modern
`docker_image_pull` module. 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`).

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 22:06:15 +03:00
Slavi PantaleevandClaude Opus 4.6 d3241588e3 Add conditional restart support to 7 roles that previously always restarted
Replace hardcoded restart_necessary: true with computed values for:
conduit, continuwuity, dendrite, element-call, media-repo,
appservice-kakaotalk, and wechat.

Each role now registers results from config, support files, systemd service,
and docker image pull tasks, then computes a restart_necessary variable
from their combined .changed state. group_vars/matrix_servers is updated
to reference these variables instead of hardcoding true.

For dendrite, the systemd service template was also separated out of the
combined support-files with_items loop so it can be independently tracked.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 06:45:58 +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 7b41de4eb1 chore(deps): update matrixconduit/matrix-conduit docker tag to v0.10.12 2026-02-13 07:10:03 +02:00
renovate[bot]andSlavi Pantaleev e7612dc0ce chore(deps): update matrixconduit/matrix-conduit docker tag to v0.10.11 2025-12-31 06:34:57 +02:00
renovate[bot]andSlavi Pantaleev b0f73f7966 chore(deps): update matrixconduit/matrix-conduit docker tag to v0.10.10 2025-12-23 05:38:22 +02:00
renovate[bot]andSlavi Pantaleev f12d6a901c Update matrixconduit/matrix-conduit Docker tag to v0.10.9 2025-09-15 07:43:44 +03:00
renovate[bot]andSlavi Pantaleev 17b738b40e Update matrixconduit/matrix-conduit Docker tag to v0.10.8 2025-08-11 21:51:49 +03:00
renovate[bot]andSlavi Pantaleev 8762cc0d7d Update matrixconduit/matrix-conduit Docker tag to v0.10.7 2025-08-04 14:48:31 +03:00
renovate[bot]andSlavi Pantaleev 78a3bf42f3 Update matrixconduit/matrix-conduit Docker tag to v0.10.6 2025-07-07 20:04:29 +03:00
renovate[bot]andSlavi Pantaleev 3be0449c35 Update matrixconduit/matrix-conduit Docker tag to v0.10.5 2025-06-23 20:34:50 +03:00
renovate[bot]andSlavi Pantaleev 312b4826f0 Update matrixconduit/matrix-conduit Docker tag to v0.10.4 2025-05-31 00:07:41 +03:00
renovate[bot]andSlavi Pantaleev eb67e08d98 Update matrixconduit/matrix-conduit Docker tag to v0.10.3 2025-05-13 07:43:41 +03:00
renovate[bot]andSlavi Pantaleev 0c8137220d Update matrixconduit/matrix-conduit Docker tag to v0.10.2 2025-05-11 18:47:21 +03:00
renovate[bot]andSlavi Pantaleev 3d25bd70f8 Update matrixconduit/matrix-conduit Docker tag to v0.10.1 2025-05-09 22:31:54 +03:00
renovate[bot]andSlavi Pantaleev 1fa2a2a615 Update matrixconduit/matrix-conduit Docker tag to v0.10.0 2025-05-09 17:42:34 +03:00
Suguru Hirahara 0bbe13b474 Add license information to files for matrix-conduit
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 21:24:31 +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 96b3cb8392 Do not auto-add lightning bolt suffix to displayname for newly registered Conduit users
This makes it consistent with other homeserver implementations, which
do not mess with the displayname by adding suffixes.
2025-01-19 15:22:59 +02:00
61ace3a063 Edit lines for vars.yml (#3933)
* Simplify paths to vars.yml if referred multiple times

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Fix the filename: vars.yaml → vars.yml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-12 15:31:19 +02:00
Suguru Hirahara 7aab3a4f83 Replace <host> with matrix.example.com
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-18 04:03:08 +09:00
renovate[bot]andGitHub 85d0b442d2 Update matrixconduit/matrix-conduit Docker tag to v0.9.0 2024-10-06 18:32:34 +00:00
renovate[bot]andGitHub 7f47ba4b3d chore(deps): update matrixconduit/matrix-conduit docker tag to v0.8.0 2024-06-12 19:56:03 +00:00
Slavi Pantaleev 4224741130 Remove a few remaining hardcoded docker.service references
Continuation of 9f2eff2ac7

Provoked by 7749048bf8
(https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3353)
2024-06-05 21:22:21 +03:00
renovate[bot]andGitHub a10b68d2d5 chore(deps): update matrixconduit/matrix-conduit docker tag to v0.7.0 2024-04-25 07:06:36 +00:00
Slavi Pantaleev dd6ee2dd14 Fix incorrect Conduit configuration template path
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3248
2024-04-04 09:42:34 +03:00
Samuel Meenzen bb59e82bca fix: actually allow overriding the conduit config template 2024-02-19 15:14:36 +01:00
Slavi Pantaleev f3a9a2b35e Make post-start delay for matrix-conduit configurable 2024-01-17 12:26:28 +02:00
Slavi Pantaleev b91ad453be Adjust TLS variables for homeservers to follow devture_traefik_config_entrypoint_web_secure_enabled (via matrix_federation_traefik_entrypoint_tls) 2024-01-15 09:39:36 +02:00
Slavi Pantaleev 4d66c14fd5 Add support for the internal Traefik entrypoint to Conduit 2024-01-14 10:48:55 +02:00
Slavi Pantaleev b2aeb8cde9 Rename label-related variables for homeservers
We'd be adding integration with an internal Traefik entrypoint
(`matrix_playbook_internal_matrix_client_api_traefik_entrypoint`),
so renaming helps disambiguate things.

There's no need for deperecation tasks, because the old names
have only been part of this `bye-bye-nginx-proxy` branch and not used by
anyone publicly.
2024-01-14 10:48:54 +02:00
Slavi Pantaleev 9ae8ccac36 Add matrix_conduit_hostname 2024-01-11 09:17:13 +02:00
Slavi Pantaleev 4639eebf12 Add native Traefik support to matrix-conduit 2024-01-11 08:56:51 +02:00
Slavi Pantaleev 53b5d8286f Merge branch 'master' into bye-bye-nginx-proxy 2024-01-11 08:35:53 +02:00
Slavi Pantaleev 6766216fcb Wire Conduit to advertise usage of the Coturn TURN server
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3089
2024-01-11 07:52:48 +02:00
Slavi Pantaleev 9488e3857a Put all homeservers in the matrix-homeserver container network 2024-01-05 16:49:48 +02:00
Samuel Meenzen c846ed199b Annotate version numbers with renovate metadata 2023-10-06 14:14:03 +02:00
Samuel MeenzenandGitHub 62a086d3e2 Update conduit 0.5.0 -> 0.6.0 2023-08-10 20:30:11 +02:00
Slavi Pantaleev cdd23aafc6 Add matrix_conduit_container_network/matrix_conduit_container_additional_networks 2023-02-26 22:08:08 +02:00
Samuel Meenzen 33fb5a4665 Upgrade Conduit (0.4.0 -> 0.5.0) 2022-12-21 18:21:49 +01:00
Slavi Pantaleev 410a915a8a Move roles/matrix* to roles/custom/matrix*
This paves the way for installing other roles into `roles/galaxy` using `ansible-galaxy`,
similar to how it's done in:

- https://github.com/spantaleev/gitea-docker-ansible-deploy
- https://github.com/spantaleev/nextcloud-docker-ansible-deploy

In the near future, we'll be removing a lot of the shared role code from here
and using upstream roles for it. Some of the core `matrix-*` roles have
already been extracted out into other reusable roles:

- https://github.com/devture/com.devture.ansible.role.postgres
- https://github.com/devture/com.devture.ansible.role.systemd_docker_base
- https://github.com/devture/com.devture.ansible.role.timesync
- https://github.com/devture/com.devture.ansible.role.vars_preserver
- https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages
- https://github.com/devture/com.devture.ansible.role.playbook_help

We just need to migrate to those.
2022-11-03 09:11:29 +02:00