From 0d2fc3ebb5cdad27a5bd50453663db592ae2a9b9 Mon Sep 17 00:00:00 2001 From: polyfloyd Date: Sun, 1 Jun 2025 18:21:40 +0200 Subject: [PATCH 1/3] services/discord_bot: Update deployment --- roles/services/handlers/main.yaml | 2 +- roles/services/tasks/discord_bot.yaml | 10 +++++----- roles/services/templates/discord-bot.service | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/roles/services/handlers/main.yaml b/roles/services/handlers/main.yaml index ed04c9f..47e319a 100644 --- a/roles/services/handlers/main.yaml +++ b/roles/services/handlers/main.yaml @@ -20,7 +20,7 @@ state: restarted daemon_reload: true -- name: Restart discord-bot +- name: restart discord-bot ansible.builtin.systemd: name: discord-bot state: restarted diff --git a/roles/services/tasks/discord_bot.yaml b/roles/services/tasks/discord_bot.yaml index 3ce4308..6e5c400 100644 --- a/roles/services/tasks/discord_bot.yaml +++ b/roles/services/tasks/discord_bot.yaml @@ -18,7 +18,6 @@ version: main dest: /var/lib/bottle-clip accept_hostkey: yes - notify: Restart discord-bot - name: Clone discord-bot source ansible.builtin.git: @@ -26,22 +25,23 @@ version: main dest: /var/lib/discord-bot accept_hostkey: yes - notify: Restart discord-bot + notify: restart discord-bot - name: Install Python dependencies ansible.builtin.shell: - cmd: . .venv/bin/activate && pip install -r requirements.txt + cmd: . .venv/bin/activate && pip install -e . args: chdir: /var/lib/discord-bot + notify: restart discord-bot -- name: Install service file +- name: Install discord-bot service file ansible.builtin.template: src: discord-bot.service dest: /etc/systemd/system/discord-bot.service owner: root group: root mode: "0644" - notify: Restart discord-bot + notify: restart discord-bot - name: Start discord-bot ansible.builtin.systemd: diff --git a/roles/services/templates/discord-bot.service b/roles/services/templates/discord-bot.service index 7522fd9..5358bd5 100644 --- a/roles/services/templates/discord-bot.service +++ b/roles/services/templates/discord-bot.service @@ -1,19 +1,19 @@ # {{ ansible_managed }} [Unit] -Description=HobbyBot +Description=Bitlair Discord Bot After=network.target [Service] Type=simple -Restart=on-failure +Restart=always RestartSec=10s -ExecStart=/var/lib/discord-bot/.venv/bin/python /var/lib/discord-bot/main.py +ExecStart=/var/lib/discord-bot/.venv/bin/python /var/lib/discord-bot/discordbot.py DynamicUser=true Environment="MQTT_HOST={{ mqtt_internal_host }}" +Environment="BOTTLECLIP_RESOURCES=/var/lib/bottle-clip" Environment="DISCORD_WEBHOOK_URL={{ lookup('passwordstore', 'services/discord', subkey='webhook_url') }}" Environment="DISCORD_TOKEN={{ lookup('passwordstore', 'services/discord', subkey='token') }}" -Environment="BOTTLECLIP_RESOURCES=/var/lib/bottle-clip" [Install] WantedBy=multi-user.target From 3d6d71e0686f3506d98a6bb9d4d960e9b53f07df Mon Sep 17 00:00:00 2001 From: polyfloyd Date: Sun, 1 Jun 2025 18:22:56 +0200 Subject: [PATCH 2/3] services/ircbot: Rename service to ircbot --- roles/services/handlers/main.yaml | 4 ++-- roles/services/tasks/ircbot.yaml | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/roles/services/handlers/main.yaml b/roles/services/handlers/main.yaml index 47e319a..c718c88 100644 --- a/roles/services/handlers/main.yaml +++ b/roles/services/handlers/main.yaml @@ -2,9 +2,9 @@ - ansible.builtin.import_tasks: file: ../../common/handlers/main.yaml -- name: Restart irc-bot +- name: Restart ircbot ansible.builtin.systemd: - name: irc-bot + name: ircbot state: restarted daemon_reload: true diff --git a/roles/services/tasks/ircbot.yaml b/roles/services/tasks/ircbot.yaml index 1889103..19a5c60 100644 --- a/roles/services/tasks/ircbot.yaml +++ b/roles/services/tasks/ircbot.yaml @@ -6,7 +6,7 @@ dest: /var/lib/irc-bot accept_hostkey: yes ignore_errors: true - notify: Restart irc-bot + notify: Restart ircbot - name: Link irc-say ansible.builtin.file: @@ -17,18 +17,18 @@ - name: Install service file ansible.builtin.template: src: generic.service - dest: /etc/systemd/system/irc-bot.service + dest: /etc/systemd/system/ircbot.service owner: root group: root mode: 0644 vars: description: Bitlair IRC bot exec: /bin/bash /var/lib/irc-bot/irc-bot - notify: Restart irc-bot + notify: Restart ircbot -- name: Start irc-bot +- name: Start ircbot ansible.builtin.systemd: - name: irc-bot + name: ircbot state: started enabled: true daemon_reload: true @@ -56,7 +56,7 @@ mode: 0644 vars: description: Bitlair IRC photos notification - requires: irc-bot.service + requires: ircbot.service exec: /bin/bash /var/lib/irc-helpers/photos.sh notify: Restart irc-photos @@ -85,7 +85,7 @@ mode: 0644 vars: description: Bitlair IRC doorduino notification - requires: irc-bot.service + requires: ircbot.service exec: /bin/bash /var/lib/irc-helpers/doorduino.sh notify: Restart irc-doorduino From 7529832deaf4655d14752834e51a5bf66f80ff57 Mon Sep 17 00:00:00 2001 From: polyfloyd Date: Sun, 1 Jun 2025 18:47:48 +0200 Subject: [PATCH 3/3] services: Add new IRC bot in #bitlair-bot-test --- roles/services/handlers/main.yaml | 6 ++++++ roles/services/tasks/discord_bot.yaml | 24 ++++++++++++++++++++++-- roles/services/templates/irc-bot.service | 20 ++++++++++++++++++++ 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 roles/services/templates/irc-bot.service diff --git a/roles/services/handlers/main.yaml b/roles/services/handlers/main.yaml index c718c88..61e0d31 100644 --- a/roles/services/handlers/main.yaml +++ b/roles/services/handlers/main.yaml @@ -26,6 +26,12 @@ state: restarted daemon_reload: true +- name: restart irc-bot + ansible.builtin.systemd: + name: irc-bot + state: restarted + daemon_reload: true + - name: Restart siahsd ansible.builtin.systemd: name: siahsd diff --git a/roles/services/tasks/discord_bot.yaml b/roles/services/tasks/discord_bot.yaml index 6e5c400..a0f394b 100644 --- a/roles/services/tasks/discord_bot.yaml +++ b/roles/services/tasks/discord_bot.yaml @@ -25,14 +25,18 @@ version: main dest: /var/lib/discord-bot accept_hostkey: yes - notify: restart discord-bot + notify: + - restart discord-bot + - restart irc-bot - name: Install Python dependencies ansible.builtin.shell: cmd: . .venv/bin/activate && pip install -e . args: chdir: /var/lib/discord-bot - notify: restart discord-bot + notify: + - restart discord-bot + - restart irc-bot - name: Install discord-bot service file ansible.builtin.template: @@ -43,9 +47,25 @@ mode: "0644" notify: restart discord-bot +- name: Install irc-bot service file + ansible.builtin.template: + src: irc-bot.service + dest: /etc/systemd/system/irc-bot.service + owner: root + group: root + mode: "0644" + notify: restart irc-bot + - name: Start discord-bot ansible.builtin.systemd: name: discord-bot state: started enabled: true daemon_reload: true + +- name: Start irc-bot + ansible.builtin.systemd: + name: irc-bot + state: started + enabled: true + daemon_reload: true diff --git a/roles/services/templates/irc-bot.service b/roles/services/templates/irc-bot.service new file mode 100644 index 0000000..ce3018b --- /dev/null +++ b/roles/services/templates/irc-bot.service @@ -0,0 +1,20 @@ +# {{ ansible_managed }} + +[Unit] +Description=Bitlair IRC Bot +After=network.target + +[Service] +Type=simple +Restart=always +RestartSec=10s +ExecStart=/var/lib/discord-bot/.venv/bin/python /var/lib/discord-bot/ircbot.py +DynamicUser=true +Environment="MQTT_HOST={{ mqtt_internal_host }}" +Environment="BOTTLECLIP_RESOURCES=/var/lib/bottle-clip" +Environment="IRC_SERVER=irc.smurfnet.ch" +Environment="IRC_CHANNEL=#bitlair-bot-test" +Environment="IRC_NICK=Bitlair" + +[Install] +WantedBy=multi-user.target