[ { "name": "show vars", "when": "switch_show_vars", "ansible.builtin.debug": { "var": "vars.cfg_mautrix_signal" } }, { "name": "user", "become": true, "ansible.builtin.user": { "name": "{{cfg_mautrix_signal.user_name}}", "create_home": true, "home": "{{cfg_mautrix_signal.directory}}" } }, { "name": "fetch", "ansible.builtin.block": [ { "name": "download", "ansible.builtin.get_url": { "url": "https://mau.dev/mautrix/signal/-/jobs/artifacts/main/download?job=build%20amd64", "dest": "/tmp/mautrix-signal.zip" } }, { "name": "unpack", "ansible.builtin.unarchive": { "remote_src": true, "src": "/tmp/mautrix-signal.zip", "dest": "{{cfg_mautrix_signal.directory}}" } } ] }, { "name": "conf", "ansible.builtin.block": [ { "name": "conf | base", "become": true, "become_user": "{{cfg_mautrix_signal.user_name}}", "ansible.builtin.template": { "src": "config.yaml.j2", "dest": "{{cfg_mautrix_signal.directory}}/config.yaml" } }, { "name": "conf | appservice registration | generate", "become": true, "become_user": "{{cfg_mautrix_signal.user_name}}", "ansible.builtin.command": { "chdir": "{{cfg_mautrix_signal.directory}}", "cmd": "./mautrix-signal --generate-registration --config {{cfg_mautrix_signal.directory}}/config.yaml --registration /tmp/registration.yaml" } }, { "name": "conf | appservice registration | adjust", "become": true, "ansible.builtin.file": { "path": "/tmp/registration.yaml", "dest": "{{cfg_mautrix_signal.directory}}/registration.yaml", "owner": "{{cfg_mautrix_signal.homeserver.user_name}}" } } ] }, { "name": "matrix homeserver", "ansible.builtin.block": [ { "name": "matrix homeserver | appservice directory", "become": true, "ansible.builtin.file": { "mode": "directory", "path": "{{cfg_mautrix_signal.homeserver.appservices_directory}}", "owner": "{{cfg_mautrix_signal.homeserver.user_name}}" } }, { "name": "matrix homeserver | insert appservice registration | copy to destination", "become": true, "ansible.builtin.copy": { "remote_src": true, "src": "{{cfg_mautrix_signal.directory}}/registration.yaml", "dest": "{{cfg_mautrix_signal.homeserver.appservices_directory}}/bridge-mautrix-signal.yaml", "owner": "{{cfg_mautrix_signal.homeserver.user_name}}" } }, { "name": "matrix homeserver | insert appservice registration | delete source", "become": true, "ansible.builtin.file": { "mode": "absent", "path": "{{cfg_mautrix_signal.directory}}/registration.yaml" } }, { "become": true, "ansible.builtin.template": { "src": "matrix-appservice.yaml.j2", "dest": "{{cfg_mautrix_signal.homeserver.conf_directory}}/bridge-mautrix-signal.yaml", "owner": "{{cfg_mautrix_signal.homeserver.user_name}}" } } ] }, { "name": "service", "ansible.builtin.block": [ { "name": "service | define", "become": true, "ansible.builtin.template": { "src": "systemd-unit.j2", "dest": "/etc/systemd/system/mautrix-signal.service" } }, { "name": "service | start", "become": true, "ansible.builtin.systemd_service": { "enabled": true, "state": "started", "name": "mautrix-signal" } } ] } ]