From 45c8a61f043bce8548da17831438527dba9a5b09 Mon Sep 17 00:00:00 2001 From: Backslash Date: Thu, 26 Sep 2024 11:39:33 +1000 Subject: [PATCH] Migrating to systemd for container management --- .../systemd/matrix-element-call.service.j2 | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2 b/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2 index 8caad624f..ff08ff9fd 100644 --- a/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2 +++ b/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2 @@ -5,13 +5,34 @@ Requires=docker.service [Service] Type=simple -ExecStart=/usr/bin/docker start -a matrix-element-call -ExecStop=/usr/bin/docker stop matrix-element-call +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 --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-element-call 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-element-call 2>/dev/null || true' + +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ + --rm \ + --name=matrix-element-call \ + --log-driver=none \ + --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ + --cap-drop=ALL \ + --network={{ matrix_element_call_container_network }} \ + -p {{ matrix_element_call_port }}:8080 \ + --env-file={{ matrix_element_call_base_path }}/config/env \ + --label-file={{ matrix_element_call_base_path }}/config/labels \ + {{ matrix_element_call_image }} \ + serve + +{% for network in matrix_element_call_container_additional_networks %} +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-element-call +{% endfor %} + +ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-element-call + +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-element-call 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-element-call 2>/dev/null || true' Restart=always -User={{ matrix_user_username }} -Group={{ matrix_user_groupname }} -TimeoutStartSec=0 -RestartSec=10 +RestartSec=30 +SyslogIdentifier=matrix-element-call [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target