From 0b9dc56edffb3f85deb2919a7d4e2f9f69c0fe78 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 15 Feb 2023 06:03:55 +0200 Subject: [PATCH] Add type support to matrix_coturn_container_additional_volumes .. and try to auto-switch between `bind` and `volume` depending on whether there's a slash in the `src` path. Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2482 --- roles/custom/matrix-coturn/defaults/main.yml | 3 ++- .../matrix-coturn/templates/systemd/matrix-coturn.service.j2 | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-coturn/defaults/main.yml b/roles/custom/matrix-coturn/defaults/main.yml index 47577a46..9922f1d0 100644 --- a/roles/custom/matrix-coturn/defaults/main.yml +++ b/roles/custom/matrix-coturn/defaults/main.yml @@ -39,7 +39,8 @@ matrix_coturn_systemd_required_services_list: ['docker.service'] # A list of additional "volumes" to mount in the container. # This list gets populated dynamically at runtime. You can provide a different default value, # if you wish to mount your own files into the container. -# Contains definition objects like this: `{"src": "/outside", "dst": "/inside", "options": "rw|ro|slave|.."} +# Contains definition objects like this: `{"type": "bind", "src": "/outside", "dst": "/inside", "options": "readonly"}. +# See the `--mount` documentation for the `docker run` command. matrix_coturn_container_additional_volumes: [] # A list of extra arguments to pass to the container diff --git a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 index 523ad1cc..2c0c9cd9 100644 --- a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 +++ b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 @@ -35,7 +35,7 @@ ExecStart={{ devture_systemd_docker_base_host_command_docker }} run --rm --name {% endif %} --mount type=bind,src={{ matrix_coturn_config_path }},dst=/turnserver.conf,ro \ {% for volume in matrix_coturn_container_additional_volumes %} - --mount type=bind,src={{ volume.src }},dst={{ volume.dst }}{{ (',' + volume.options) if volume.options else '' }} \ + --mount type={{ volume.type | default('bind' if '/' in volume.src else 'volume') }},src={{ volume.src }},dst={{ volume.dst }}{{ (',' + volume.options) if volume.options else '' }} \ {% endfor %} {% for arg in matrix_coturn_container_extra_arguments %} {{ arg }} \