diff --git a/roles/update-docker/templates/script.py.j2 b/roles/update-docker/templates/script.py.j2 index facfdec9..b27ce528 100644 --- a/roles/update-docker/templates/script.py.j2 +++ b/roles/update-docker/templates/script.py.j2 @@ -144,14 +144,6 @@ def update_discourse(directory): else: print("Discourse update skipped. No changes in git repository.") -def upgrade_listmonk(): - """ - Runs the upgrade for Listmonk - """ - print("Starting Listmonk upgrade.") - run_command('echo "y" | docker compose run -T application ./listmonk --upgrade') - print("Upgrade complete.") - def update_procedure(command): """ Attempts to execute a command up to a maximum number of retries. @@ -210,8 +202,6 @@ if __name__ == "__main__": # The following instances need additional update and upgrade procedures if os.path.basename(dir_path) == "discourse": update_discourse(dir_path) - elif os.path.basename(dir_path) == "listmonk": - upgrade_listmonk() - + # @todo implement dedicated procedure for bluesky # @todo implement dedicated procedure for taiga diff --git a/roles/web-app-listmonk/tasks/main.yml b/roles/web-app-listmonk/tasks/main.yml index 0dc4b2b5..7175665f 100644 --- a/roles/web-app-listmonk/tasks/main.yml +++ b/roles/web-app-listmonk/tasks/main.yml @@ -30,6 +30,14 @@ chdir: "{{ docker_compose.directories.instance }}" when: "'No relations found.' in db_tables.stdout" +- name: "Listmonk | run DB/schema upgrade (non-interactive)" + ansible.builtin.shell: | + set -o pipefail + echo "y" | docker compose run -T application ./listmonk --upgrade + args: + chdir: "{{ docker_compose.directories.instance }}" + when: MODE_UPDATE | bool + - name: Build OIDC settings JSON set_fact: oidc_settings_json: >- @@ -73,3 +81,4 @@ no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}" async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" +