diff --git a/roles/web-app-matomo/tasks/constructor.yml b/roles/web-app-matomo/tasks/constructor.yml index b00dc1d7..f046cbd2 100644 --- a/roles/web-app-matomo/tasks/constructor.yml +++ b/roles/web-app-matomo/tasks/constructor.yml @@ -2,6 +2,9 @@ include_role: name: cmp-db-docker-proxy +- name: "Update database credentials" + include_tasks: database.yml + - name: flush docker service meta: flush_handlers diff --git a/roles/web-app-matomo/tasks/database.yml b/roles/web-app-matomo/tasks/database.yml new file mode 100644 index 00000000..cac3f167 --- /dev/null +++ b/roles/web-app-matomo/tasks/database.yml @@ -0,0 +1,25 @@ +- name: Backup config.ini.php before patching + command: > + docker cp {{ matomo_name }}:{{ matomo_config }} {{ matomo_backup_file }} + +- name: Patch Matomo config.ini.php with updated DB credentials + block: + - name: Update DB host + command: > + docker exec --user root {{ matomo_name }} + sed -i "s/^host *=.*/host = {{ database_host }}/" {{ matomo_config }} + + - name: Update DB name + command: > + docker exec --user root {{ matomo_name }} + sed -i "s/^dbname *=.*/dbname = {{ database_name }}/" {{ matomo_config }} + + - name: Update DB user + command: > + docker exec --user root {{ matomo_name }} + sed -i "s/^username *=.*/username = {{ database_username }}/" {{ matomo_config }} + + - name: Update DB password + command: > + docker exec --user root {{ matomo_name }} + sed -i "s/^password *=.*/password = {{ database_password }}/" {{ matomo_config }} diff --git a/roles/web-app-matomo/templates/docker-compose.yml.j2 b/roles/web-app-matomo/templates/docker-compose.yml.j2 index d6f9c4a2..1f59a65a 100644 --- a/roles/web-app-matomo/templates/docker-compose.yml.j2 +++ b/roles/web-app-matomo/templates/docker-compose.yml.j2 @@ -1,5 +1,6 @@ {% include 'roles/docker-compose/templates/base.yml.j2' %} application: + container_name: {{ matomo_name }} {% set container_port = 80 %} {% include 'roles/docker-container/templates/base.yml.j2' %} image: "{{ matomo_image }}:{{ matomo_version }}" diff --git a/roles/web-app-matomo/vars/main.yml b/roles/web-app-matomo/vars/main.yml index 7bc65e76..8082df5a 100644 --- a/roles/web-app-matomo/vars/main.yml +++ b/roles/web-app-matomo/vars/main.yml @@ -6,7 +6,10 @@ matomo_index_php_url: "{{ domains | get_url(application_id, web_protocol) }}/ind matomo_auth_token: "{{ applications | get_app_conf(application_id, 'credentials.auth_token', True) }}" matomo_version: "{{ applications | get_app_conf(application_id, 'docker.services.matomo.version', True) }}" matomo_image: "{{ applications | get_app_conf(application_id, 'docker.services.matomo.image', True) }}" +matomo_name: "{{ applications | get_app_conf(application_id, 'docker.services.matomo.name', True) }}" matomo_data: "{{ applications | get_app_conf(application_id, 'docker.volumes.data', True) }}" +matomo_backup_file: "{{ docker_compose.directories.instance }}/config.ini.php.bak" +matomo_config: "/var/www/html/config/config.ini.php" # I don't know if this is still necessary -domain: "{{ domains | get_domain(application_id) }}" \ No newline at end of file +domain: "{{ domains | get_domain(application_id) }}"