| @@ -25,7 +25,7 @@ matrix_mautrix_whatsapp_docker_src_files_path: "{{ matrix_mautrix_whatsapp_base_ | |||||
| matrix_mautrix_whatsapp_homeserver_address: "" | matrix_mautrix_whatsapp_homeserver_address: "" | ||||
| matrix_mautrix_whatsapp_homeserver_domain: "{{ matrix_domain }}" | matrix_mautrix_whatsapp_homeserver_domain: "{{ matrix_domain }}" | ||||
| matrix_mautrix_whatsapp_appservice_address: "http://matrix-mautrix-whatsapp:8080" | |||||
| matrix_mautrix_whatsapp_appservice_address: "http://{{ matrix_mautrix_whatsapp_identifier }}:8080" | |||||
| # Whether to make public the bridgev2 API endpoints. | # Whether to make public the bridgev2 API endpoints. | ||||
| # See https://spec.mau.fi/megabridge/ | # See https://spec.mau.fi/megabridge/ | ||||
| @@ -22,7 +22,7 @@ | |||||
| caller: "{{ role_path | basename }}" | caller: "{{ role_path | basename }}" | ||||
| engine_variable_name: 'matrix_mautrix_whatsapp_database_engine' | engine_variable_name: 'matrix_mautrix_whatsapp_database_engine' | ||||
| engine_old: 'sqlite' | engine_old: 'sqlite' | ||||
| systemd_services_to_stop: ['matrix-mautrix-whatsapp.service'] | |||||
| systemd_services_to_stop: ['{{ matrix_mautrix_whatsapp_identifier }}.service'] | |||||
| pgloader_options: ['--with "quote identifiers"'] | pgloader_options: ['--with "quote identifiers"'] | ||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| @@ -89,7 +89,7 @@ | |||||
| - name: (Data relocation) Ensure matrix-mautrix-whatsapp.service is stopped | - name: (Data relocation) Ensure matrix-mautrix-whatsapp.service is stopped | ||||
| ansible.builtin.service: | ansible.builtin.service: | ||||
| name: matrix-mautrix-whatsapp | |||||
| name: "{{ matrix_mautrix_whatsapp_identifier }}" | |||||
| state: stopped | state: stopped | ||||
| enabled: false | enabled: false | ||||
| daemon_reload: true | daemon_reload: true | ||||
| @@ -146,12 +146,12 @@ | |||||
| - name: Ensure matrix-mautrix-whatsapp.service installed | - name: Ensure matrix-mautrix-whatsapp.service installed | ||||
| ansible.builtin.template: | ansible.builtin.template: | ||||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-whatsapp.service.j2" | src: "{{ role_path }}/templates/systemd/matrix-mautrix-whatsapp.service.j2" | ||||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-whatsapp.service" | |||||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_mautrix_whatsapp_identifier }}.service" | |||||
| mode: 0644 | mode: 0644 | ||||
| - name: Ensure matrix-mautrix-whatsapp.service restarted, if necessary | - name: Ensure matrix-mautrix-whatsapp.service restarted, if necessary | ||||
| ansible.builtin.service: | ansible.builtin.service: | ||||
| name: "matrix-mautrix-whatsapp.service" | |||||
| name: "{{ matrix_mautrix_whatsapp_identifier }}.service" | |||||
| state: restarted | state: restarted | ||||
| daemon_reload: true | daemon_reload: true | ||||
| when: "matrix_mautrix_whatsapp_requires_restart | bool" | when: "matrix_mautrix_whatsapp_requires_restart | bool" | ||||
| @@ -2,19 +2,19 @@ | |||||
| - name: Check existence of matrix-mautrix-whatsapp service | - name: Check existence of matrix-mautrix-whatsapp service | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-whatsapp.service" | |||||
| path: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_mautrix_whatsapp_identifier }}.service" | |||||
| register: matrix_mautrix_whatsapp_service_stat | register: matrix_mautrix_whatsapp_service_stat | ||||
| - when: matrix_mautrix_whatsapp_service_stat.stat.exists | bool | - when: matrix_mautrix_whatsapp_service_stat.stat.exists | bool | ||||
| block: | block: | ||||
| - name: Ensure matrix-mautrix-whatsapp is stopped | - name: Ensure matrix-mautrix-whatsapp is stopped | ||||
| ansible.builtin.service: | ansible.builtin.service: | ||||
| name: matrix-mautrix-whatsapp | |||||
| name: "{{ matrix_mautrix_whatsapp_identifier }}" | |||||
| state: stopped | state: stopped | ||||
| enabled: false | enabled: false | ||||
| daemon_reload: true | daemon_reload: true | ||||
| - name: Ensure matrix-mautrix-whatsapp.service doesn't exist | - name: Ensure matrix-mautrix-whatsapp.service doesn't exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-whatsapp.service" | |||||
| path: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_mautrix_whatsapp_identifier }}.service" | |||||
| state: absent | state: absent | ||||
| @@ -6,7 +6,7 @@ traefik.docker.network={{ matrix_mautrix_whatsapp_container_labels_traefik_docke | |||||
| {% endif %} | {% endif %} | ||||
| traefik.http.services.{{ matrix_mautrix_whatsapp_identifier }}-appservice.loadbalancer.server.port=8080 | traefik.http.services.{{ matrix_mautrix_whatsapp_identifier }}-appservice.loadbalancer.server.port=8080 | ||||
| traefik.http.services.matrix-mautrix-whatsapp-metrics.loadbalancer.server.port=8001 | |||||
| traefik.http.services.{{ matrix_mautrix_whatsapp_identifier }}-metrics.loadbalancer.server.port=8001 | |||||
| {% if matrix_mautrix_whatsapp_container_labels_metrics_enabled %} | {% if matrix_mautrix_whatsapp_container_labels_metrics_enabled %} | ||||
| ############################################################ | ############################################################ | ||||
| @@ -16,22 +16,22 @@ traefik.http.services.matrix-mautrix-whatsapp-metrics.loadbalancer.server.port=8 | |||||
| ############################################################ | ############################################################ | ||||
| {% if matrix_mautrix_whatsapp_container_labels_metrics_middleware_basic_auth_enabled %} | {% if matrix_mautrix_whatsapp_container_labels_metrics_middleware_basic_auth_enabled %} | ||||
| traefik.http.middlewares.matrix-mautrix-whatsapp-metrics-basic-auth.basicauth.users={{ matrix_mautrix_whatsapp_container_labels_metrics_middleware_basic_auth_users }} | |||||
| traefik.http.routers.matrix-mautrix-whatsapp-metrics.middlewares=matrix-mautrix-whatsapp-metrics-basic-auth | |||||
| traefik.http.middlewares.{{ matrix_mautrix_whatsapp_identifier }}-metrics-basic-auth.basicauth.users={{ matrix_mautrix_whatsapp_container_labels_metrics_middleware_basic_auth_users }} | |||||
| traefik.http.routers.{{ matrix_mautrix_whatsapp_identifier }}-metrics.middlewares={{ matrix_mautrix_whatsapp_identifier }}-metrics-basic-auth | |||||
| {% endif %} | {% endif %} | ||||
| traefik.http.routers.matrix-mautrix-whatsapp-metrics.rule={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_rule }} | |||||
| traefik.http.routers.{{ matrix_mautrix_whatsapp_identifier }}-metrics.rule={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_rule }} | |||||
| {% if matrix_mautrix_whatsapp_container_labels_metrics_traefik_priority | int > 0 %} | {% if matrix_mautrix_whatsapp_container_labels_metrics_traefik_priority | int > 0 %} | ||||
| traefik.http.routers.matrix-mautrix-whatsapp-metrics.priority={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_priority }} | |||||
| traefik.http.routers.{{ matrix_mautrix_whatsapp_identifier }}-metrics.priority={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_priority }} | |||||
| {% endif %} | {% endif %} | ||||
| traefik.http.routers.matrix-mautrix-whatsapp-metrics.service=matrix-mautrix-whatsapp-metrics | |||||
| traefik.http.routers.matrix-mautrix-whatsapp-metrics.entrypoints={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_entrypoints }} | |||||
| traefik.http.routers.{{ matrix_mautrix_whatsapp_identifier }}-metrics.service={{ matrix_mautrix_whatsapp_identifier }}-metrics | |||||
| traefik.http.routers.{{ matrix_mautrix_whatsapp_identifier }}-metrics.entrypoints={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_entrypoints }} | |||||
| traefik.http.routers.matrix-mautrix-whatsapp-metrics.tls={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_tls | to_json }} | |||||
| traefik.http.routers.{{ matrix_mautrix_whatsapp_identifier }}-metrics.tls={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_tls | to_json }} | |||||
| {% if matrix_mautrix_whatsapp_container_labels_metrics_traefik_tls %} | {% if matrix_mautrix_whatsapp_container_labels_metrics_traefik_tls %} | ||||
| traefik.http.routers.matrix-mautrix-whatsapp-metrics.tls.certResolver={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_tls_certResolver }} | |||||
| traefik.http.routers.{{ matrix_mautrix_whatsapp_identifier }}-metrics.tls.certResolver={{ matrix_mautrix_whatsapp_container_labels_metrics_traefik_tls_certResolver }} | |||||
| {% endif %} | {% endif %} | ||||
| ############################################################ | ############################################################ | ||||
| @@ -13,12 +13,12 @@ DefaultDependencies=no | |||||
| [Service] | [Service] | ||||
| Type=simple | Type=simple | ||||
| Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" | 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-mautrix-whatsapp 2>/dev/null || true' | |||||
| ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-whatsapp 2>/dev/null || true' | |||||
| 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_mautrix_whatsapp_identifier }} 2>/dev/null || true' | |||||
| ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_mautrix_whatsapp_identifier }} 2>/dev/null || true' | |||||
| ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | ||||
| --rm \ | --rm \ | ||||
| --name=matrix-mautrix-whatsapp \ | |||||
| --name={{ matrix_mautrix_whatsapp_identifier }} \ | |||||
| --log-driver=none \ | --log-driver=none \ | ||||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | ||||
| --cap-drop=ALL \ | --cap-drop=ALL \ | ||||
| @@ -34,16 +34,16 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||||
| /usr/bin/mautrix-whatsapp -c /config/config.yaml -r /config/registration.yaml | /usr/bin/mautrix-whatsapp -c /config/config.yaml -r /config/registration.yaml | ||||
| {% for network in matrix_mautrix_whatsapp_container_additional_networks %} | {% for network in matrix_mautrix_whatsapp_container_additional_networks %} | ||||
| ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mautrix-whatsapp | |||||
| ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} {{ matrix_mautrix_whatsapp_identifier }} | |||||
| {% endfor %} | {% endfor %} | ||||
| ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-whatsapp | |||||
| ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_mautrix_whatsapp_identifier }} | |||||
| 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-mautrix-whatsapp 2>/dev/null || true' | |||||
| ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-whatsapp 2>/dev/null || true' | |||||
| 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_mautrix_whatsapp_identifier }} 2>/dev/null || true' | |||||
| ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_mautrix_whatsapp_identifier }} 2>/dev/null || true' | |||||
| Restart=always | Restart=always | ||||
| RestartSec=30 | RestartSec=30 | ||||
| SyslogIdentifier=matrix-mautrix-whatsapp | |||||
| SyslogIdentifier={{ matrix_mautrix_whatsapp_identifier }} | |||||
| [Install] | [Install] | ||||
| WantedBy=multi-user.target | WantedBy=multi-user.target | ||||