infra/discord-irc-sync.yml

95 lines
2.9 KiB
YAML

---
- hosts: discord_irc_sync
tasks:
- name: Create user for discord-irc-sync
user:
name: discord-irc-sync
system: yes
- name: Clone discord-irc-sync
become: true
become_user: discord-irc-sync
git:
repo: https://github.com/Hackndo/discord-irc-sync.git
dest: ~/src/
notify: restart discord-irc-sync
- name: Setup or upgrade venv
become: true
become_user: discord-irc-sync
command: python3 -m venv --upgrade-deps /home/discord-irc-sync/venv/
changed_when: False
notify: restart discord-irc-sync
- name: Install discord-irc-sync requirements
become: true
become_user: discord-irc-sync
pip:
requirements: /home/discord-irc-sync/src/requirements.txt
state: latest
virtualenv_command: /usr/bin/python3 -m venv
virtualenv: "/home/discord-irc-sync/venv/"
notify: restart discord-irc-sync
- name: Configure discord-irc-sync
copy:
dest: /home/discord-irc-sync/config.json
content: |
{
"irc": {
"server": "irc.libera.chat",
"port": "6697",
"ssl": true,
"channel": "#afpy",
"nickname": "discord_afpy",
"owner": "mdk",
"cmd_prefix": "!",
"output_msg": "<:username:> :message:",
"output_cmd": "CMD by :username:",
"log_events": false
},
"discord": {
"server": 840037163965349918,
"channel": 840037163965349924,
"token": "{{ vault_discord_bot_token }}",
"owner": "asyd",
"cmd_prefix": "!",
"output_msg": "<:username:> :message:",
"output_cmd": "CMD by :username:",
"log_events": false
},
"formatting": {
"irc_to_discord": false,
"discord_to_irc": true
}
}
notify: restart discord-irc-sync
- name: Configure discord-irc-sync daemon
copy:
dest: /etc/systemd/system/discord-irc-sync.service
content: |
[Unit]
Description=discord-irc-sync
After=network.target
[Service]
Type=simple
ExecStart=/home/discord-irc-sync/venv/bin/python -u /home/discord-irc-sync/src/discord-irc-sync.py /home/discord-irc-sync/config.json
User=discord-irc-sync
Group=discord-irc-sync
WorkingDirectory=/home/discord-irc-sync/src/
Restart=on-failure
[Install]
WantedBy=multi-user.target
- service: name=discord-irc-sync enabled=yes state=started daemon_reload=yes
handlers:
- name: restart discord-irc-sync
service:
name: discord-irc-sync
state: restarted