Commit Graph
24 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
ArtiDeziandSlavi Pantaleev b45973eb13 Update Continuwuity to v26.9.0 and validate retired registration setting 2026-09-17 22:06:19 +03:00
Slavi PantaleevandClaude Fable 5 19a775ef7e Upgrade Continuwuity (v0.5.10 -> v26.6.1) and re-sync its config template
This is a major upgrade which performs a one-way database migration
and removes LDAP support upstream.

The continuwuity.toml.j2 template is re-synced with the v26.6.1 example
config. Notably, registration_token is now only rendered when non-empty,
because v26+ refuses to start when it is set to an empty string.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 14:43:17 +03:00
19bcdc78fd Gate Continuwuity ReCAPTCHA config on both keys being configured
Continuwuity has no native enable-captcha toggle; it enables the ReCAPTCHA
registration flow based on the presence of a private site key. The playbook
previously always rendered empty `recaptcha_site_key`/`recaptcha_private_site_key`
values, which made Continuwuity enable a broken captcha flow and break
registration in some clients.

The keys are now only rendered when both are configured, gated by a derived
`matrix_continuwuity_recaptcha_enabled` flag in the role's `vars/main.yml`. A
consistency check fails the play when exactly one of the two keys is set.

Fixes #5329

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 06:24:06 +03:00
bd6e08a93e Allow host network mode for MDAD-managed containers (#5310)
* feat: support container_network=host across all roles + systemd templates

Mirror the pattern Slavi introduced for matrix-coturn (aafa8f0) across the
fork: every 'Ensure X container network is created' task gets a
'when: <var> not in ["", "host"]' guard so MDAD does not try to
docker_network create a network literally named 'host' (returns 403,
since host is a pre-defined Docker network).

Mirror the same guard in every systemd unit template that does
'ExecStartPre=docker network connect <addnet> <container>' loops over
matrix_<role>_container_additional_networks: skip the connects when the
container is on host networking (where additional --network attaches
are invalid).

Unblocks DiD setups where MDAD-managed containers share their host's
network namespace (matrix-mdad outer compose service joined to central
postgres/openldap networks) to reach external services on the outer
Docker daemon.

* Simplify container network guards (!= 'host') and fix duplicate when

Guarding on the empty string ('') as well was misleading: systemd unit
templates still render an unconditional --network= flag, so an empty
network value produces a broken docker create command. Only 'host' is
actually supported, so only guard on that. This also matches the
existing convention in the Traefik role
(when: traefik_container_network != 'host').

Also fix a duplicate when key in the meshtastic-relay role, where the
network-creation task already had a when condition - the two are now
combined into a list.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 23:48:03 +03:00
Slavi Pantaleev 2d44a0884b Sync Continuwuity v0.5.8 LDAP StartTLS reference options
Adds the new `use_starttls` and `disable_tls_verification` keys to
the commented-out `[global.ldap]` reference block, matching upstream.
2026-04-25 22:31:40 +03:00
Slavi Pantaleev fcd48e7480 Make matrix_continuwuity_systemd_wanted_services_list actually used in matrix-continuwuity.service 2026-04-18 07:46:24 +03:00
ezeraandSlavi Pantaleev 0cb1600eda feat(c10y): add support for global.smtp settings
Adds support for SMTP and email-related settings
added in Continuwuity 0.5.7.
2026-04-18 07:22:59 +03:00
ezeraandSlavi Pantaleev 2429fea517 feat(c10y): allow configuring default room version 2026-04-03 07:39:32 +03:00
DrKneesandGitHub 6c7944494b Update Continuwuity config and add options 2026-04-01 23:26:40 +03:00
anya hopeandSlavi Pantaleev 720a1b1a31 feat(c10y): add url_preview_check_root_domain 2026-03-29 09:59:54 +03:00
anya hopeandSlavi Pantaleev 3f0326855d feat(c10y): add url_preview_domain_explicit_allowlist 2026-03-29 09:59:54 +03:00
Slavi PantaleevandClaude Opus 4.6 669490f18e Refactor Continuwuity role: add version variable and rename docker to container
Add matrix_continuwuity_version with container_image_tag inheriting from it.
Rename all _docker_image* variables to _container_image* with deprecation notices.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 08:16:07 +02: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
Virkkunen c04dfe2384 add missing _config_ to some variable names 2025-07-04 21:50:31 +02:00
Virkkunen d1796978ca add matrix_continuwuity_config_suspend_on_register 2025-07-04 21:44:50 +02:00
Virkkunen 1b2b6ddaa3 add more defederation variables 2025-07-04 21:38:32 +02:00
Virkkunen e813309311 fix spelling 2025-07-04 21:19:20 +02:00
Virkkunen bdec7c646d update continuwuity.toml 2025-07-04 21:07:46 +02:00
VirkkunenandSlavi Pantaleev 613f685f54 add matrix_continuwuity_url_preview_domain_contains_allowlist variable 2025-07-04 20:29:44 +03:00
Suguru HiraharaandSlavi Pantaleev 3653f9f89b Run codespell --write-changes
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
VirkkunenandGitHub f36c776bc3 Add variables to control Continuwuity forbidden servers (#4339) 2025-05-22 10:56:25 +03:00
VirkkunenandSlavi Pantaleev bcd50c8e08 fix continuwuity docker envs 2025-04-26 13:37:23 +03:00
VirkkunenandGitHub bd405c410a Add continuwuity support (#4267)
* continuwuity support

* continuwuity support

* use main instead of commit tag

* fix docker image link

* migration from conduwuit

* fix yaml lint

* backup directories and linter fixes

* linter fixes
2025-04-26 09:12:53 +03:00