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>
This commit is contained in:
Slavi Pantaleev
2026-10-16 19:04:04 +03:00
co-authored by Claude Opus 5.5
parent 90cbae01a0
commit bff3f54d53
133 changed files with 2002 additions and 138 deletions
@@ -90,6 +90,34 @@ matrix_alertmanager_receiver_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_alertmanager_receiver_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_alertmanager_receiver_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_alertmanager_receiver_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_alertmanager_receiver_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_alertmanager_receiver_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-alertmanager-receiver >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-alertmanager-receiver >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-alertmanager-receiver >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_alertmanager_receiver_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-alertmanager-receiver" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-alertmanager-receiver after {{ matrix_alertmanager_receiver_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# Controls the `--log-level` argument passed to the container process.
# Valid values: error, warn, info, debug
matrix_alertmanager_receiver_container_process_argument_log_level: info
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-alertmanager-receiver 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-alertmanager-receiver 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_alertmanager_receiver_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -37,6 +37,34 @@ matrix_appservice_draupnir_for_all_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_appservice_draupnir_for_all_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_appservice_draupnir_for_all_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_appservice_draupnir_for_all_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_appservice_draupnir_for_all_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_appservice_draupnir_for_all_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-draupnir-for-all >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-appservice-draupnir-for-all >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-appservice-draupnir-for-all >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_appservice_draupnir_for_all_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-appservice-draupnir-for-all" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-appservice-draupnir-for-all after {{ matrix_appservice_draupnir_for_all_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-bot-draupnir.service depends on
matrix_appservice_draupnir_for_all_systemd_required_services_list: "{{ matrix_appservice_draupnir_for_all_systemd_required_services_list_default + matrix_appservice_draupnir_for_all_systemd_required_services_list_auto + matrix_appservice_draupnir_for_all_systemd_required_services_list_custom }}"
matrix_appservice_draupnir_for_all_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-draupnir-for-all 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-draupnir-for-all 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_appservice_draupnir_for_all_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -46,6 +46,34 @@ matrix_authentication_service_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_authentication_service_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_authentication_service_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_authentication_service_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_authentication_service_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_authentication_service_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-authentication-service >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-authentication-service >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-authentication-service >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_authentication_service_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-authentication-service" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-authentication-service after {{ matrix_authentication_service_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-authentication-service.service depends on
matrix_authentication_service_systemd_required_services_list: "{{ matrix_authentication_service_systemd_required_services_list_default + matrix_authentication_service_systemd_required_services_list_auto + matrix_authentication_service_systemd_required_services_list_custom }}"
matrix_authentication_service_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-authentication-service 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-authentication-service 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_authentication_service_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -36,6 +36,34 @@ matrix_bot_baibot_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bot_baibot_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bot_baibot_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bot_baibot_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bot_baibot_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bot_baibot_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-baibot >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-baibot >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-baibot >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bot_baibot_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-bot-baibot" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-bot-baibot after {{ matrix_bot_baibot_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-bot-baibot.service depends on
matrix_bot_baibot_systemd_required_services_list: "{{ matrix_bot_baibot_systemd_required_services_list_default + matrix_bot_baibot_systemd_required_services_list_auto + matrix_bot_baibot_systemd_required_services_list_custom }}"
matrix_bot_baibot_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-baibot 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-baibot 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bot_baibot_container_cleanup_command | trim | replace("\n", " ") }}'
{#
We mount a tmpfs at /tmp, because the bot may write temporary files there
@@ -105,6 +105,34 @@ matrix_bot_buscarron_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bot_buscarron_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bot_buscarron_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bot_buscarron_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bot_buscarron_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bot_buscarron_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-buscarron >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-buscarron >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-buscarron >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bot_buscarron_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-bot-buscarron" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-bot-buscarron after {{ matrix_bot_buscarron_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-bot-buscarron.service depends on
matrix_bot_buscarron_systemd_required_services_list: "{{ matrix_bot_buscarron_systemd_required_services_list_default + matrix_bot_buscarron_systemd_required_services_list_auto + matrix_bot_buscarron_systemd_required_services_list_custom }}"
matrix_bot_buscarron_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-buscarron 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-buscarron 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bot_buscarron_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -68,6 +68,34 @@ matrix_bot_draupnir_container_http_host_bind_port: ''
# A list of extra arguments to pass to the container
matrix_bot_draupnir_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bot_draupnir_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bot_draupnir_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bot_draupnir_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bot_draupnir_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-draupnir >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-draupnir >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-draupnir >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bot_draupnir_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-bot-draupnir" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-bot-draupnir after {{ matrix_bot_draupnir_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-bot-draupnir.service depends on
matrix_bot_draupnir_systemd_required_services_list: "{{ matrix_bot_draupnir_systemd_required_services_list_default + matrix_bot_draupnir_systemd_required_services_list_auto + matrix_bot_draupnir_systemd_required_services_list_custom }}"
matrix_bot_draupnir_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-draupnir 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-draupnir 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bot_draupnir_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -86,6 +86,34 @@ matrix_bot_honoroit_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bot_honoroit_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bot_honoroit_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bot_honoroit_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bot_honoroit_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bot_honoroit_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-honoroit >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-honoroit >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-honoroit >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bot_honoroit_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-bot-honoroit" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-bot-honoroit after {{ matrix_bot_honoroit_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-bot-honoroit.service depends on
matrix_bot_honoroit_systemd_required_services_list: "{{ matrix_bot_honoroit_systemd_required_services_list_default + matrix_bot_honoroit_systemd_required_services_list_auto + matrix_bot_honoroit_systemd_required_services_list_custom }}"
matrix_bot_honoroit_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-honoroit 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-honoroit 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bot_honoroit_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -36,6 +36,34 @@ matrix_bot_matrix_reminder_bot_command_prefix: "!"
# A list of extra arguments to pass to the container
matrix_bot_matrix_reminder_bot_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bot_matrix_reminder_bot_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bot_matrix_reminder_bot_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bot_matrix_reminder_bot_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bot_matrix_reminder_bot_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-reminder-bot >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-matrix-reminder-bot >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-matrix-reminder-bot >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bot_matrix_reminder_bot_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-bot-matrix-reminder-bot" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-bot-matrix-reminder-bot after {{ matrix_bot_matrix_reminder_bot_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
matrix_bot_matrix_reminder_bot_container_network: ""
matrix_bot_matrix_reminder_bot_container_additional_networks: "{{ matrix_bot_matrix_reminder_bot_container_additional_networks_auto + matrix_bot_matrix_reminder_bot_container_additional_networks_custom }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-reminder-bot 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-matrix-reminder-bot 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bot_matrix_reminder_bot_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -171,6 +171,34 @@ matrix_bot_maubot_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bot_maubot_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bot_maubot_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bot_maubot_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bot_maubot_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bot_maubot_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-maubot >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-maubot >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-maubot >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bot_maubot_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-bot-maubot" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-bot-maubot after {{ matrix_bot_maubot_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-bot-maubot.service depends on
matrix_bot_maubot_systemd_required_services_list: "{{ matrix_bot_maubot_systemd_required_services_list_default + matrix_bot_maubot_systemd_required_services_list_auto + matrix_bot_maubot_systemd_required_services_list_custom }}"
matrix_bot_maubot_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-maubot 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-maubot 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bot_maubot_container_cleanup_command | trim | replace("\n", " ") }}'
{#
We mount a tmpfs at /tmp, because some maubot plugins may wish to write to it.
@@ -41,6 +41,34 @@ matrix_bot_meowlnir_container_http_host_bind_port: ''
# A list of extra arguments to pass to the container
matrix_bot_meowlnir_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bot_meowlnir_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bot_meowlnir_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bot_meowlnir_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bot_meowlnir_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-meowlnir >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-meowlnir >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-meowlnir >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bot_meowlnir_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-bot-meowlnir" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-bot-meowlnir after {{ matrix_bot_meowlnir_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-bot-meowlnir.service depends on
matrix_bot_meowlnir_systemd_required_services_list: "{{ matrix_bot_meowlnir_systemd_required_services_list_default + matrix_bot_meowlnir_systemd_required_services_list_auto + matrix_bot_meowlnir_systemd_required_services_list_custom }}"
matrix_bot_meowlnir_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-meowlnir 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-meowlnir 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bot_meowlnir_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -41,6 +41,34 @@ matrix_bot_mjolnir_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bot_mjolnir_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bot_mjolnir_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bot_mjolnir_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bot_mjolnir_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bot_mjolnir_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-mjolnir >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-bot-mjolnir >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-bot-mjolnir >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bot_mjolnir_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-bot-mjolnir" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-bot-mjolnir after {{ matrix_bot_mjolnir_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-bot-mjolnir.service depends on
matrix_bot_mjolnir_systemd_required_services_list: "{{ matrix_bot_mjolnir_systemd_required_services_list_default + matrix_bot_mjolnir_systemd_required_services_list_auto + matrix_bot_mjolnir_systemd_required_services_list_custom }}"
matrix_bot_mjolnir_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-mjolnir 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-mjolnir 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bot_mjolnir_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -51,6 +51,34 @@ matrix_bridge_appservice_discord_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_appservice_discord_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_appservice_discord_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_appservice_discord_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_appservice_discord_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_appservice_discord_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-discord >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-appservice-discord >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-appservice-discord >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_appservice_discord_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-appservice-discord" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-appservice-discord after {{ matrix_bridge_appservice_discord_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-appservice-discord.service depends on.
matrix_bridge_appservice_discord_systemd_required_services_list: "{{ matrix_bridge_appservice_discord_systemd_required_services_list_default + matrix_bridge_appservice_discord_systemd_required_services_list_auto + matrix_bridge_appservice_discord_systemd_required_services_list_custom }}"
matrix_bridge_appservice_discord_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-discord 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-discord 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_appservice_discord_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -487,6 +487,34 @@ matrix_bridge_appservice_irc_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_appservice_irc_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_appservice_irc_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_appservice_irc_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_appservice_irc_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_appservice_irc_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-irc >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-appservice-irc >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-appservice-irc >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_appservice_irc_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-appservice-irc" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-appservice-irc after {{ matrix_bridge_appservice_irc_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# matrix_bridge_appservice_irc_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
# To inject your own other container labels, see `matrix_bridge_appservice_irc_container_labels_additional_labels`.
matrix_bridge_appservice_irc_container_labels_traefik_enabled: true
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-irc 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-irc 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_appservice_irc_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -93,6 +93,34 @@ matrix_bridge_beeper_line_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_beeper_line_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_beeper_line_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_beeper_line_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_beeper_line_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_beeper_line_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-beeper-line >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-beeper-line >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-beeper-line >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_beeper_line_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-beeper-line" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-beeper-line after {{ matrix_bridge_beeper_line_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-beeper-line.service depends on.
matrix_bridge_beeper_line_systemd_required_services_list: "{{ matrix_bridge_beeper_line_systemd_required_services_list_default + matrix_bridge_beeper_line_systemd_required_services_list_auto + matrix_bridge_beeper_line_systemd_required_services_list_custom }}"
matrix_bridge_beeper_line_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-beeper-line 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-beeper-line 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_beeper_line_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -62,6 +62,34 @@ matrix_bridge_beeper_linkedin_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_beeper_linkedin_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_beeper_linkedin_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_beeper_linkedin_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_beeper_linkedin_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_beeper_linkedin_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-beeper-linkedin >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-beeper-linkedin >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-beeper-linkedin >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_beeper_linkedin_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-beeper-linkedin" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-beeper-linkedin after {{ matrix_bridge_beeper_linkedin_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-beeper-linkedin.service depends on.
matrix_bridge_beeper_linkedin_systemd_required_services_list: "{{ matrix_bridge_beeper_linkedin_systemd_required_services_list_default + matrix_bridge_beeper_linkedin_systemd_required_services_list_auto + matrix_bridge_beeper_linkedin_systemd_required_services_list_custom }}"
matrix_bridge_beeper_linkedin_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-beeper-linkedin 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-beeper-linkedin 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_beeper_linkedin_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -77,6 +77,34 @@ matrix_bridge_heisenbridge_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_heisenbridge_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_heisenbridge_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_heisenbridge_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_heisenbridge_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_heisenbridge_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ matrix_bridge_heisenbridge_container_stop_grace_time_seconds }} matrix-heisenbridge >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-heisenbridge >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-heisenbridge >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_heisenbridge_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-heisenbridge" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-heisenbridge after {{ matrix_bridge_heisenbridge_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that service depends on.
matrix_bridge_heisenbridge_systemd_required_services_list: "{{ matrix_bridge_heisenbridge_systemd_required_services_list_default + matrix_bridge_heisenbridge_systemd_required_services_list_auto + matrix_bridge_heisenbridge_systemd_required_services_list_custom }}"
matrix_bridge_heisenbridge_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ matrix_bridge_heisenbridge_container_stop_grace_time_seconds }} matrix-heisenbridge
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} rm matrix-heisenbridge
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_heisenbridge_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -262,6 +262,34 @@ matrix_bridge_hookshot_container_network: ""
# A list of extra arguments to pass to the container
matrix_bridge_hookshot_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_hookshot_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_hookshot_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_hookshot_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_hookshot_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_bridge_hookshot_identifier }} >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f {{ matrix_bridge_hookshot_identifier }} >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect {{ matrix_bridge_hookshot_identifier }} >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_hookshot_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up {{ matrix_bridge_hookshot_identifier }}" >&2;
exit 1;
done;
echo "Failed to remove stale container {{ matrix_bridge_hookshot_identifier }} after {{ matrix_bridge_hookshot_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# matrix_bridge_hookshot_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
# See `../templates/labels.j2` for details.
#
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_bridge_hookshot_identifier }}
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_bridge_hookshot_identifier }}
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_hookshot_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create --rm --name {{ matrix_bridge_hookshot_identifier }} \
--log-driver=none \
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
@@ -92,6 +92,34 @@ matrix_bridge_mautrix_bluesky_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_bluesky_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_bluesky_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_bluesky_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_bluesky_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_bluesky_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-bluesky >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-bluesky >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-bluesky >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_bluesky_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-bluesky" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-bluesky after {{ matrix_bridge_mautrix_bluesky_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-bluesky.service depends on.
matrix_bridge_mautrix_bluesky_systemd_required_services_list: "{{ matrix_bridge_mautrix_bluesky_systemd_required_services_list_default + matrix_bridge_mautrix_bluesky_systemd_required_services_list_auto + matrix_bridge_mautrix_bluesky_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_bluesky_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-bluesky 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-bluesky 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_bluesky_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -113,6 +113,34 @@ matrix_bridge_mautrix_discord_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_discord_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_discord_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_discord_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_discord_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_discord_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-discord >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-discord >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-discord >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_discord_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-discord" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-discord after {{ matrix_bridge_mautrix_discord_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-discord.service depends on.
matrix_bridge_mautrix_discord_systemd_required_services_list: "{{ matrix_bridge_mautrix_discord_systemd_required_services_list_default + matrix_bridge_mautrix_discord_systemd_required_services_list_auto + matrix_bridge_mautrix_discord_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_discord_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-discord 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-discord 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_discord_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -92,6 +92,34 @@ matrix_bridge_mautrix_gmessages_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_gmessages_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_gmessages_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_gmessages_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_gmessages_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_gmessages_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-gmessages >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-gmessages >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-gmessages >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_gmessages_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-gmessages" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-gmessages after {{ matrix_bridge_mautrix_gmessages_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-gmessages.service depends on.
matrix_bridge_mautrix_gmessages_systemd_required_services_list: "{{ matrix_bridge_mautrix_gmessages_systemd_required_services_list_default + matrix_bridge_mautrix_gmessages_systemd_required_services_list_auto + matrix_bridge_mautrix_gmessages_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_gmessages_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-gmessages 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-gmessages 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_gmessages_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -93,6 +93,34 @@ matrix_bridge_mautrix_googlechat_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_googlechat_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_googlechat_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_googlechat_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_googlechat_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_googlechat_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-googlechat >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-googlechat >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-googlechat >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_googlechat_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-googlechat" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-googlechat after {{ matrix_bridge_mautrix_googlechat_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-googlechat.service depends on.
matrix_bridge_mautrix_googlechat_systemd_required_services_list: "{{ matrix_bridge_mautrix_googlechat_systemd_required_services_list_default + matrix_bridge_mautrix_googlechat_systemd_required_services_list_auto + matrix_bridge_mautrix_googlechat_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_googlechat_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-googlechat 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-googlechat 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_googlechat_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -88,6 +88,34 @@ matrix_bridge_mautrix_gvoice_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_gvoice_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_gvoice_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_gvoice_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_gvoice_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_gvoice_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-gvoice >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-gvoice >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-gvoice >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_gvoice_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-gvoice" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-gvoice after {{ matrix_bridge_mautrix_gvoice_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-gvoice.service depends on.
matrix_bridge_mautrix_gvoice_systemd_required_services_list: "{{ matrix_bridge_mautrix_gvoice_systemd_required_services_list_default + matrix_bridge_mautrix_gvoice_systemd_required_services_list_auto + matrix_bridge_mautrix_gvoice_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_gvoice_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-gvoice 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-gvoice 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_gvoice_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -88,6 +88,34 @@ matrix_bridge_mautrix_linkedin_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_linkedin_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_linkedin_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_linkedin_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_linkedin_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_linkedin_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-linkedin >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-linkedin >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-linkedin >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_linkedin_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-linkedin" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-linkedin after {{ matrix_bridge_mautrix_linkedin_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-linkedin.service depends on.
matrix_bridge_mautrix_linkedin_systemd_required_services_list: "{{ matrix_bridge_mautrix_linkedin_systemd_required_services_list_default + matrix_bridge_mautrix_linkedin_systemd_required_services_list_auto + matrix_bridge_mautrix_linkedin_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_linkedin_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-linkedin 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-linkedin 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_linkedin_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -80,6 +80,34 @@ matrix_bridge_mautrix_meta_instagram_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_meta_instagram_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_meta_instagram_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_meta_instagram_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_meta_instagram_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_meta_instagram_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_bridge_mautrix_meta_instagram_identifier }} >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f {{ matrix_bridge_mautrix_meta_instagram_identifier }} >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect {{ matrix_bridge_mautrix_meta_instagram_identifier }} >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_meta_instagram_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up {{ matrix_bridge_mautrix_meta_instagram_identifier }}" >&2;
exit 1;
done;
echo "Failed to remove stale container {{ matrix_bridge_mautrix_meta_instagram_identifier }} after {{ matrix_bridge_mautrix_meta_instagram_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that the systemd service depends on.
matrix_bridge_mautrix_meta_instagram_systemd_required_services_list: "{{ matrix_bridge_mautrix_meta_instagram_systemd_required_services_list_default + matrix_bridge_mautrix_meta_instagram_systemd_required_services_list_auto + matrix_bridge_mautrix_meta_instagram_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_meta_instagram_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_bridge_mautrix_meta_instagram_identifier }} 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_bridge_mautrix_meta_instagram_identifier }} 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_meta_instagram_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -77,6 +77,34 @@ matrix_bridge_mautrix_meta_messenger_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_meta_messenger_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_meta_messenger_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_meta_messenger_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_meta_messenger_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_meta_messenger_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_bridge_mautrix_meta_messenger_identifier }} >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f {{ matrix_bridge_mautrix_meta_messenger_identifier }} >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect {{ matrix_bridge_mautrix_meta_messenger_identifier }} >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_meta_messenger_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up {{ matrix_bridge_mautrix_meta_messenger_identifier }}" >&2;
exit 1;
done;
echo "Failed to remove stale container {{ matrix_bridge_mautrix_meta_messenger_identifier }} after {{ matrix_bridge_mautrix_meta_messenger_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that the systemd service depends on.
matrix_bridge_mautrix_meta_messenger_systemd_required_services_list: "{{ matrix_bridge_mautrix_meta_messenger_systemd_required_services_list_default + matrix_bridge_mautrix_meta_messenger_systemd_required_services_list_auto + matrix_bridge_mautrix_meta_messenger_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_meta_messenger_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_bridge_mautrix_meta_messenger_identifier }} 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_bridge_mautrix_meta_messenger_identifier }} 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_meta_messenger_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -117,6 +117,34 @@ matrix_bridge_mautrix_signal_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_signal_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_signal_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_signal_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_signal_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_signal_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-signal >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-signal >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-signal >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_signal_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-signal" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-signal after {{ matrix_bridge_mautrix_signal_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-signal.service depends on.
matrix_bridge_mautrix_signal_systemd_required_services_list: "{{ matrix_bridge_mautrix_signal_systemd_required_services_list_default + matrix_bridge_mautrix_signal_systemd_required_services_list_auto + matrix_bridge_mautrix_signal_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_signal_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-signal 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-signal 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_signal_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -111,6 +111,34 @@ matrix_bridge_mautrix_slack_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_slack_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_slack_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_slack_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_slack_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_slack_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-slack >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-slack >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-slack >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_slack_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-slack" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-slack after {{ matrix_bridge_mautrix_slack_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-slack.service depends on.
matrix_bridge_mautrix_slack_systemd_required_services_list: "{{ matrix_bridge_mautrix_slack_systemd_required_services_list_default + matrix_bridge_mautrix_slack_systemd_required_services_list_auto + matrix_bridge_mautrix_slack_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_slack_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-slack 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-slack 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_slack_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -98,6 +98,34 @@ matrix_bridge_mautrix_telegram_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_telegram_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_telegram_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_telegram_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_telegram_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_telegram_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-telegram >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-telegram >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-telegram >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_telegram_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-telegram" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-telegram after {{ matrix_bridge_mautrix_telegram_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-telegram.service depends on.
matrix_bridge_mautrix_telegram_systemd_required_services_list: "{{ matrix_bridge_mautrix_telegram_systemd_required_services_list_default + matrix_bridge_mautrix_telegram_systemd_required_services_list_auto + matrix_bridge_mautrix_telegram_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_telegram_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-telegram 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-telegram 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_telegram_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -100,6 +100,34 @@ matrix_bridge_mautrix_twitter_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_twitter_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_twitter_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_twitter_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_twitter_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_twitter_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-twitter >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-twitter >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-twitter >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_twitter_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-twitter" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-twitter after {{ matrix_bridge_mautrix_twitter_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-twitter.service depends on.
matrix_bridge_mautrix_twitter_systemd_required_services_list: "{{ matrix_bridge_mautrix_twitter_systemd_required_services_list_default + matrix_bridge_mautrix_twitter_systemd_required_services_list_auto + matrix_bridge_mautrix_twitter_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_twitter_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-twitter 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-twitter 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_twitter_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -98,6 +98,34 @@ matrix_bridge_mautrix_whatsapp_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_whatsapp_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_whatsapp_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_whatsapp_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_whatsapp_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_whatsapp_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-whatsapp >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-whatsapp >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-whatsapp >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_whatsapp_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-whatsapp" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-whatsapp after {{ matrix_bridge_mautrix_whatsapp_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-whatsapp.service depends on.
matrix_bridge_mautrix_whatsapp_systemd_required_services_list: "{{ matrix_bridge_mautrix_whatsapp_systemd_required_services_list_default + matrix_bridge_mautrix_whatsapp_systemd_required_services_list_auto + matrix_bridge_mautrix_whatsapp_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_whatsapp_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-whatsapp 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-whatsapp 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_whatsapp_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -70,6 +70,34 @@ matrix_bridge_mautrix_wsproxy_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_mautrix_wsproxy_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_wsproxy_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_wsproxy_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_wsproxy_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_wsproxy_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-wsproxy >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-wsproxy >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_wsproxy_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-wsproxy" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-wsproxy after {{ matrix_bridge_mautrix_wsproxy_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-mautrix-wsproxy.service depends on.
matrix_bridge_mautrix_wsproxy_systemd_required_services_list: "{{ matrix_bridge_mautrix_wsproxy_systemd_required_services_list_default + matrix_bridge_mautrix_wsproxy_systemd_required_services_list_auto + matrix_bridge_mautrix_wsproxy_systemd_required_services_list_custom }}"
matrix_bridge_mautrix_wsproxy_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -149,6 +177,34 @@ matrix_bridge_mautrix_wsproxy_syncproxy_version: latest
matrix_bridge_mautrix_wsproxy_syncproxy_container_image: "dock.mau.dev/mautrix/syncproxy:{{ matrix_bridge_mautrix_wsproxy_syncproxy_version }}"
matrix_bridge_mautrix_wsproxy_syncproxy_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mautrix_wsproxy_syncproxy_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mautrix_wsproxy_syncproxy_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mautrix_wsproxy_syncproxy_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mautrix_wsproxy_syncproxy_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy-syncproxy >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mautrix-wsproxy-syncproxy >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mautrix-wsproxy-syncproxy >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mautrix_wsproxy_syncproxy_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mautrix-wsproxy-syncproxy" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mautrix-wsproxy-syncproxy after {{ matrix_bridge_mautrix_wsproxy_syncproxy_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
matrix_bridge_mautrix_wsproxy_syncproxy_systemd_required_services_list: |-
{{
([devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [])
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy-syncproxy 2>/dev/null'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-wsproxy-syncproxy 2>/dev/null'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_wsproxy_syncproxy_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy 2>/dev/null'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-wsproxy 2>/dev/null'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mautrix_wsproxy_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create --rm --name matrix-mautrix-wsproxy \
--log-driver=none \
@@ -36,6 +36,34 @@ matrix_bridge_meshtastic_relay_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_meshtastic_relay_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_meshtastic_relay_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_meshtastic_relay_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_meshtastic_relay_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_meshtastic_relay_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-meshtastic-relay >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-meshtastic-relay >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-meshtastic-relay >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_meshtastic_relay_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-meshtastic-relay" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-meshtastic-relay after {{ matrix_bridge_meshtastic_relay_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-meshtastic-relay.service depends on.
matrix_bridge_meshtastic_relay_systemd_required_services_list: "{{ matrix_bridge_meshtastic_relay_systemd_required_services_list_default + matrix_bridge_meshtastic_relay_systemd_required_services_list_auto + matrix_bridge_meshtastic_relay_systemd_required_services_list_custom }}"
matrix_bridge_meshtastic_relay_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-meshtastic-relay
ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} rm matrix-meshtastic-relay
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_meshtastic_relay_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -61,6 +61,34 @@ matrix_bridge_mx_puppet_groupme_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_mx_puppet_groupme_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mx_puppet_groupme_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mx_puppet_groupme_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mx_puppet_groupme_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mx_puppet_groupme_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-groupme >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mx-puppet-groupme >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mx-puppet-groupme >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mx_puppet_groupme_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mx-puppet-groupme" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mx-puppet-groupme after {{ matrix_bridge_mx_puppet_groupme_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-puppet-groupme.service depends on.
matrix_bridge_mx_puppet_groupme_systemd_required_services_list: "{{ matrix_bridge_mx_puppet_groupme_systemd_required_services_list_default + matrix_bridge_mx_puppet_groupme_systemd_required_services_list_auto + matrix_bridge_mx_puppet_groupme_systemd_required_services_list_custom }}"
matrix_bridge_mx_puppet_groupme_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-groupme 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-groupme 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mx_puppet_groupme_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -62,6 +62,34 @@ matrix_bridge_mx_puppet_steam_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_mx_puppet_steam_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_mx_puppet_steam_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_mx_puppet_steam_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_mx_puppet_steam_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_mx_puppet_steam_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-steam >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-mx-puppet-steam >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-mx-puppet-steam >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_mx_puppet_steam_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-mx-puppet-steam" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-mx-puppet-steam after {{ matrix_bridge_mx_puppet_steam_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-puppet-steam.service depends on.
matrix_bridge_mx_puppet_steam_systemd_required_services_list: "{{ matrix_bridge_mx_puppet_steam_systemd_required_services_list_default + matrix_bridge_mx_puppet_steam_systemd_required_services_list_auto + matrix_bridge_mx_puppet_steam_systemd_required_services_list_custom }}"
matrix_bridge_mx_puppet_steam_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-steam 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-steam 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_mx_puppet_steam_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -37,6 +37,34 @@ matrix_bridge_postmoogle_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_postmoogle_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_postmoogle_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_postmoogle_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_postmoogle_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_postmoogle_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-postmoogle >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-postmoogle >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-postmoogle >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_postmoogle_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-postmoogle" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-postmoogle after {{ matrix_bridge_postmoogle_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-postmoogle.service depends on
matrix_bridge_postmoogle_systemd_required_services_list: "{{ matrix_bridge_postmoogle_systemd_required_services_list_default + matrix_bridge_postmoogle_systemd_required_services_list_auto + matrix_bridge_postmoogle_systemd_required_services_list_custom }}"
matrix_bridge_postmoogle_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-postmoogle 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-postmoogle 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_postmoogle_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -105,6 +105,34 @@ matrix_bridge_rustpush_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_rustpush_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_rustpush_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_rustpush_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_rustpush_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_rustpush_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-rustpush-bridge >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-rustpush-bridge >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-rustpush-bridge >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_rustpush_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-rustpush-bridge" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-rustpush-bridge after {{ matrix_bridge_rustpush_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# Override the Rust log filter passed to the bridge container via RUST_LOG.
# Leave empty to use the bridge's built-in default
# ("warn,rustpush=warn,rustpushgo=info,open_absinthe=info").
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-rustpush-bridge 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-rustpush-bridge 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_rustpush_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -40,6 +40,34 @@ matrix_bridge_sms_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_sms_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_sms_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_sms_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_sms_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_sms_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sms-bridge >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-sms-bridge >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-sms-bridge >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_sms_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-sms-bridge" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-sms-bridge after {{ matrix_bridge_sms_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that service depends on.
matrix_bridge_sms_systemd_required_services_list: "{{ matrix_bridge_sms_systemd_required_services_list_default + matrix_bridge_sms_systemd_required_services_list_auto + matrix_bridge_sms_systemd_required_services_list_custom }}"
matrix_bridge_sms_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sms-bridge 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-sms-bridge 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_sms_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -121,6 +121,34 @@ matrix_bridge_steam_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_bridge_steam_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_steam_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_steam_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_steam_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_steam_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-steam-bridge >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-steam-bridge >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-steam-bridge >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_steam_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-steam-bridge" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-steam-bridge after {{ matrix_bridge_steam_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-steam-bridge.service depends on.
matrix_bridge_steam_systemd_required_services_list: "{{ matrix_bridge_steam_systemd_required_services_list_default + matrix_bridge_steam_systemd_required_services_list_auto + matrix_bridge_steam_systemd_required_services_list_custom }}"
matrix_bridge_steam_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-steam-bridge 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-steam-bridge 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_steam_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -59,6 +59,34 @@ matrix_bridge_wechat_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_bridge_wechat_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_wechat_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_wechat_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_wechat_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_wechat_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-wechat >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-wechat >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_wechat_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-wechat" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-wechat after {{ matrix_bridge_wechat_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-wechat.service depends on.
matrix_bridge_wechat_systemd_required_services_list: "{{ matrix_bridge_wechat_systemd_required_services_list_default + matrix_bridge_wechat_systemd_required_services_list_auto + matrix_bridge_wechat_systemd_required_services_list_custom }}"
matrix_bridge_wechat_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -162,6 +190,34 @@ matrix_bridge_wechat_agent_configuration_yaml: "{{ lookup('template', 'templates
matrix_bridge_wechat_agent_configuration: "{{ matrix_bridge_wechat_agent_configuration_yaml | from_yaml }}"
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_bridge_wechat_agent_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_bridge_wechat_agent_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_bridge_wechat_agent_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_bridge_wechat_agent_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat-agent >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-wechat-agent >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-wechat-agent >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_bridge_wechat_agent_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-wechat-agent" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-wechat-agent after {{ matrix_bridge_wechat_agent_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# matrix_bridge_wechat_restart_necessary controls whether the service
# will be restarted (when true) or merely started (when false) by the
# systemd service manager role (when conditional restart is enabled).
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat-agent 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-wechat-agent 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_wechat_agent_container_cleanup_command | trim | replace("\n", " ") }}'
{#
The agent needs to write to /home/user/.vnc.
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-wechat 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_bridge_wechat_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -68,6 +68,34 @@ matrix_cactus_comments_client_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_cactus_comments_client_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_cactus_comments_client_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_cactus_comments_client_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_cactus_comments_client_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_cactus_comments_client_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments-client >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-cactus-comments-client >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-cactus-comments-client >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_cactus_comments_client_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-cactus-comments-client" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-cactus-comments-client after {{ matrix_cactus_comments_client_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# Controls the SERVER_PORT environment variable.
# See: https://static-web-server.net/configuration/environment-variables/
matrix_cactus_comments_client_environment_variable_server_port: 8080
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments-client 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-cactus-comments-client 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_cactus_comments_client_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -48,6 +48,34 @@ matrix_cactus_comments_container_additional_networks_custom: []
# A list of extra arguments to pass to the container
matrix_cactus_comments_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_cactus_comments_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_cactus_comments_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_cactus_comments_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_cactus_comments_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-cactus-comments >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-cactus-comments >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_cactus_comments_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-cactus-comments" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-cactus-comments after {{ matrix_cactus_comments_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-cactus-comments.service depends on
matrix_cactus_comments_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-cactus-comments 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_cactus_comments_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -87,6 +87,34 @@ matrix_client_commet_container_labels_additional_labels: ""
# Extra arguments to pass to docker create
matrix_client_commet_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_client_commet_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_client_commet_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_client_commet_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_client_commet_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-commet >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-client-commet >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-client-commet >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_client_commet_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-client-commet" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-client-commet after {{ matrix_client_commet_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# ---------------------------------------------------------------------------
# HTTP security headers
# ---------------------------------------------------------------------------
@@ -16,8 +16,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-commet 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-commet 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_client_commet_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -106,6 +106,34 @@ matrix_client_element_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_client_element_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_client_element_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_client_element_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_client_element_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_client_element_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-element >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-client-element >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-client-element >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_client_element_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-client-element" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-client-element after {{ matrix_client_element_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-client-element.service depends on
matrix_client_element_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -10,8 +10,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-element 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-element 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_client_element_container_cleanup_command | trim | replace("\n", " ") }}'
{#
The custom healthcheck command is a patch until https://github.com/element-hq/element-web/pull/29471
@@ -85,6 +85,34 @@ matrix_client_fluffychat_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_client_fluffychat_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_client_fluffychat_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_client_fluffychat_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_client_fluffychat_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_client_fluffychat_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-fluffychat >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-client-fluffychat >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-client-fluffychat >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_client_fluffychat_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-client-fluffychat" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-client-fluffychat after {{ matrix_client_fluffychat_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-client-fluffychat.service depends on
matrix_client_fluffychat_systemd_required_services_list: "{{ matrix_client_fluffychat_systemd_required_services_list_default + matrix_client_fluffychat_systemd_required_services_list_auto + matrix_client_fluffychat_systemd_required_services_list_custom }}"
matrix_client_fluffychat_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -10,8 +10,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-fluffychat 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-fluffychat 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_client_fluffychat_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -82,6 +82,34 @@ matrix_client_schildichat_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_client_schildichat_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_client_schildichat_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_client_schildichat_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_client_schildichat_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_client_schildichat_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-schildichat >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-client-schildichat >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-client-schildichat >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_client_schildichat_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-client-schildichat" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-client-schildichat after {{ matrix_client_schildichat_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# List of systemd services that matrix-client-schildichat.service depends on
matrix_client_schildichat_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
@@ -10,8 +10,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-schildichat 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-schildichat 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_client_schildichat_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -118,6 +118,34 @@ matrix_conduit_container_labels_additional_labels: ''
# Extra arguments for the Docker container
matrix_conduit_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_conduit_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_conduit_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_conduit_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_conduit_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduit >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-conduit >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-conduit >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_conduit_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-conduit" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-conduit after {{ matrix_conduit_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# Specifies which template files to use when configuring Conduit.
# If you'd like to have your own different configuration, feel free to copy and paste
# the original files into your inventory (e.g. in `inventory/host_vars/matrix.example.com/`)
@@ -9,8 +9,7 @@ After={{ service }}
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduit 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-conduit 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_conduit_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -132,6 +132,34 @@ matrix_continuwuity_container_labels_additional_labels: ''
# Extra arguments for the Docker container
matrix_continuwuity_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_continuwuity_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_continuwuity_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_continuwuity_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_continuwuity_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-continuwuity >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-continuwuity >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-continuwuity >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_continuwuity_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-continuwuity" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-continuwuity after {{ matrix_continuwuity_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# Specifies which template files to use when configuring continuwuity.
# If you'd like to have your own different configuration, feel free to copy and paste
# the original files into your inventory (e.g. in `inventory/host_vars/matrix.example.com/`)
@@ -12,8 +12,7 @@ Wants={{ service }}
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-continuwuity 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-continuwuity 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_continuwuity_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -34,6 +34,34 @@ matrix_corporal_container_http_api_host_bind_port: ''
# A list of extra arguments to pass to the container
matrix_corporal_container_extra_arguments: []
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_corporal_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_corporal_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_corporal_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_corporal_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-corporal >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-corporal >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-corporal >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_corporal_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-corporal" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-corporal after {{ matrix_corporal_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# The base container network. It will be auto-created by this role if it doesn't exist already.
matrix_corporal_container_network: ""
@@ -10,8 +10,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-corporal 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-corporal 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_corporal_container_cleanup_command | trim | replace("\n", " ") }}'
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--rm \
@@ -184,6 +184,34 @@ matrix_dendrite_container_extra_arguments_auto: []
# If you'd like to inject your own arguments, see `matrix_dendrite_container_extra_arguments`.
matrix_dendrite_container_arguments: "{{ matrix_dendrite_container_extra_arguments + matrix_dendrite_container_extra_arguments_auto }}"
# Controls how long the pre-start cleanup should wait for stale container-name release
# before failing startup explicitly.
matrix_dendrite_container_cleanup_timeout_seconds: "{{ devture_systemd_docker_base_container_cleanup_timeout_seconds }}"
# Controls the delay between pre-start cleanup retries.
matrix_dendrite_container_cleanup_retry_delay_seconds: "{{ devture_systemd_docker_base_container_cleanup_retry_delay_seconds }}"
# Shell command used in the systemd pre-start phase to deterministically remove a stale
# container and wait until Docker releases its name.
matrix_dendrite_container_cleanup_command: |
i=0;
while [ "$i" -lt {{ matrix_dendrite_container_cleanup_timeout_seconds }} ]; do
{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dendrite >/dev/null 2>&1 || true;
{{ devture_systemd_docker_base_host_command_docker }} rm -f matrix-dendrite >/dev/null 2>&1 || true;
if {{ devture_systemd_docker_base_host_command_docker }} container inspect matrix-dendrite >/dev/null 2>&1; then
i=$((i + 1));
sleep {{ matrix_dendrite_container_cleanup_retry_delay_seconds }};
continue;
fi;
if {{ devture_systemd_docker_base_host_command_docker }} info >/dev/null 2>&1; then
exit 0;
fi;
echo "Failed to query Docker daemon while cleaning up matrix-dendrite" >&2;
exit 1;
done;
echo "Failed to remove stale container matrix-dendrite after {{ matrix_dendrite_container_cleanup_timeout_seconds }} attempts" >&2;
exit 1
# A list of extra arguments to pass to the container process (`dendrite-monolith` command)
# Example:
# matrix_dendrite_process_extra_arguments:
@@ -13,8 +13,7 @@ DefaultDependencies=no
[Service]
Type=simple
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dendrite 2>/dev/null || true'
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-dendrite 2>/dev/null || true'
ExecStartPre={{ devture_systemd_docker_base_host_command_sh }} -c '{{ matrix_dendrite_container_cleanup_command | trim | replace("\n", " ") }}'
{% if (postgres_identifier + '.service') in matrix_dendrite_systemd_required_services_list %}
# Dendrite is too quick to start in relation to its Postgres dependency.

Some files were not shown because too many files have changed in this diff Show More