ansible-base/roles/synapse/tasks/bridge-mautrix_telegram.json
2024-04-12 21:50:16 +02:00

102 lines
2.5 KiB
JSON

[
{
"name": "install packagaes",
"become": true,
"ansible.builtin.apt": {
"update_cache": true,
"pkg": [
"python3-venv"
]
}
},
{
"name": "setup user",
"become": true,
"ansible.builtin.user": {
"state": "present",
"system": true,
"name": "{{var_synapse_bridge_mautrix_telegram_user}}",
"group": "{{var_synapse_bridge_mautrix_telegram_group}}",
"create_home": false,
"home": "{{var_synapse_bridge_mautrix_telegram_directory}}"
}
},
{
"name": "setup virtual environment",
"become": true,
"become_user": "{{var_synapse_bridge_mautrix_telegram_user}}",
"ansible.builtin.command": {
"chdir": "{{var_synapse_bridge_mautrix_telegram_user}}",
"cmd": "virtualenv -p /usr/bin/python3 ."
}
},
{
"name": "install stuff",
"become": true,
"become_user": "{{var_synapse_bridge_mautrix_telegram_user}}",
"ansible.builtin.shell": {
"chdir": "{{var_synapse_bridge_mautrix_telegram_user}}",
"cmd": "source ./bin/activate && pip install --upgrade mautrix-telegram[all]"
}
},
{
"name": "place configuration",
"become": true,
"become_user": "{{var_synapse_bridge_mautrix_telegram_user}}",
"ansible.builtin.template": {
"src": "mautrix-telegram-conf.yaml",
"dest": "{{var_synapse_bridge_mautrix_telegram_directory}}/config.yaml"
}
},
{
"name": "generate app service registration file",
"become": true,
"become_user": "{{var_synapse_bridge_mautrix_telegram_user}}",
"ansible.builtin.command": {
"chdir": "{{var_synapse_bridge_mautrix_telegram_user}}",
"cmd": "source ./bin/activate && python -m mautrix_telegram -g"
}
},
{
"name": "place synapse conf snippet",
"become": true,
"ansible.builtin.template": {
"src": "mautrix-telegram-appservice.yaml",
"dest": "/etc/matrix-synapse/conf.d/mautrix-telegram.yaml"
}
},
{
"name": "place control script",
"become": true,
"ansible.builtin.template": {
"src": "mautrix-telegram-control.sh",
"dest": "/usr/local/bin/mautrix-telegram"
}
},
{
"name": "place systemd script",
"become": true,
"ansible.builtin.template": {
"src": "mautrix-telegram-systemd.service",
"dest": "/etc/systemd/system/multi-user.target.wants/mautrix-telegram.service"
}
},
{
"name": "enable and start service",
"become": true,
"ansible.builtin.systemd_service": {
"state": "restarted",
"enabled": true,
"name": "mautrix-telegram"
}
},
{
"name": "restart service",
"become": true,
"ansible.builtin.systemd_service": {
"state": "restarted",
"name": "matrix-synapse"
}
}
]