Refactor docker compose exec usage

Introduce centralized variables:
- docker_compose_command_base
- docker_compose_command_exec

Replaced hardcoded 'docker compose exec' with '{{ docker_compose_command_exec }}'
across multiple roles (BigBlueButton, EspoCRM, Friendica, Listmonk, Mailu, Matrix, OpenProject).
Ensures consistent environment file loading and reduces duplicated code.

Details: https://chatgpt.com/share/68d6a276-19d0-800f-839d-d191d97f7c41
This commit is contained in:
2025-09-26 16:26:17 +02:00
parent bcee1fecdf
commit 9082443753
12 changed files with 21 additions and 19 deletions

View File

@@ -1,6 +1,6 @@
- name: "Ensure Mailu user '{{ mailu_user_key }};{{ mailu_user_name }}@{{ MAILU_DOMAIN }}'' exists"
command: >
docker compose exec admin flask mailu {{ mailu_action }}
{{ docker_compose_command_exec }} admin flask mailu {{ mailu_action }}
{{ mailu_user_name }} {{ MAILU_DOMAIN }} '{{ mailu_password }}'
args:
chdir: "{{ MAILU_DOCKER_DIR }}"
@@ -17,7 +17,7 @@
- name: "Change password for user '{{ mailu_user_key }};{{ mailu_user_name }}@{{ MAILU_DOMAIN }}'"
command: >
docker compose exec admin flask mailu password
{{ docker_compose_command_exec }} admin flask mailu password
{{ mailu_user_name }} {{ MAILU_DOMAIN }} '{{ mailu_password }}'
args:
chdir: "{{ MAILU_DOCKER_DIR }}"

View File

@@ -1,7 +1,7 @@
- name: "Fetch existing API tokens via curl inside admin container"
command: >-
docker compose exec -T admin \
{{ docker_compose_command_exec }} -T admin \
curl -s -X GET {{ mailu_api_base_url }}/token \
-H "Authorization: Bearer {{ MAILU_API_TOKEN }}"
args:
@@ -23,7 +23,7 @@
- name: "Delete existing API token for '{{ mailu_user_key }};{{ mailu_user_name }}' if local token missing but remote exists"
command: >-
docker compose exec -T admin \
{{ docker_compose_command_exec }} -T admin \
curl -s -X DELETE {{ mailu_api_base_url }}/token/{{ mailu_user_existing_token.id }} \
-H "Authorization: Bearer {{ MAILU_API_TOKEN }}"
args:
@@ -38,7 +38,7 @@
- name: "Create API token for '{{ mailu_user_key }};{{ mailu_user_name }}' if no local token defined"
command: >-
docker compose exec -T admin
{{ docker_compose_command_exec }} -T admin
curl -sS -f -X POST {{ mailu_api_base_url }}/token
-H "Authorization: Bearer {{ MAILU_API_TOKEN }}"
-H "Content-Type: application/json"

View File

@@ -1,6 +1,6 @@
- name: Check if DKIM private key file exists in the antispam container
command: >
docker compose exec -T antispam
{{ docker_compose_command_exec }} -T antispam
test -f {{ MAILU_DKIM_KEY_PATH }}
register: dkim_key_file_stat
failed_when: false
@@ -10,7 +10,7 @@
- name: Generate DKIM key
command: >
docker compose exec -T antispam
{{ docker_compose_command_exec }} -T antispam
rspamadm dkim_keygen -s dkim -d {{ MAILU_DOMAIN }} -k {{ MAILU_DKIM_KEY_PATH }}
register: dkim_keygen_output
when: dkim_key_file_stat.rc != 0
@@ -20,7 +20,7 @@
- name: Fetch DKIM private key from antispam container
shell: >
docker compose exec -T antispam
{{ docker_compose_command_exec }} -T antispam
cat {{ MAILU_DKIM_KEY_PATH }}
args:
chdir: "{{ docker_compose.directories.instance }}"