aboutsummaryrefslogtreecommitdiffstats
path: root/roles/jails/06_hommabot
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2026-05-13 00:13:57 +0300
committerJan Tuomi <jan@jantuomi.fi>2026-05-16 18:42:27 +0300
commitb5860daf11ac353049cb1654b9414a129e5cfb96 (patch)
tree87ed89711e4f0e85ace0a97fa123199152c67302 /roles/jails/06_hommabot
parent4715a28fdcd87440400d17154bfa361d99db29cc (diff)
Rework
Diffstat (limited to 'roles/jails/06_hommabot')
-rw-r--r--roles/jails/06_hommabot/defaults/main.yml14
-rw-r--r--roles/jails/06_hommabot/tasks/main.yml2
-rw-r--r--roles/jails/06_hommabot/templates/etc_crontab.j210
-rw-r--r--roles/jails/06_hommabot/templates/root_hommabot_deps.sh14
-rw-r--r--roles/jails/06_hommabot/templates/root_hommabot_env.j24
5 files changed, 44 insertions, 0 deletions
diff --git a/roles/jails/06_hommabot/defaults/main.yml b/roles/jails/06_hommabot/defaults/main.yml
new file mode 100644
index 0000000..d12d40f
--- /dev/null
+++ b/roles/jails/06_hommabot/defaults/main.yml
@@ -0,0 +1,14 @@
+userland: "14.3-RELEASE"
+
+pkg:
+ - npm
+
+files:
+ - src: root_hommabot_env.j2
+ dest: /root/hommabot/.env
+ mode: "0600"
+ - src: root_hommabot_deps.sh
+ dest: /root/hommabot/deps.sh
+ mode: "0755"
+ - src: etc_crontab.j2
+ dest: /etc/crontab
diff --git a/roles/jails/06_hommabot/tasks/main.yml b/roles/jails/06_hommabot/tasks/main.yml
new file mode 100644
index 0000000..2abdaff
--- /dev/null
+++ b/roles/jails/06_hommabot/tasks/main.yml
@@ -0,0 +1,2 @@
+- import_role:
+ name: jail
diff --git a/roles/jails/06_hommabot/templates/etc_crontab.j2 b/roles/jails/06_hommabot/templates/etc_crontab.j2
new file mode 100644
index 0000000..556d12a
--- /dev/null
+++ b/roles/jails/06_hommabot/templates/etc_crontab.j2
@@ -0,0 +1,10 @@
+# /etc/crontab - root's crontab for FreeBSD
+#
+#
+SHELL=/bin/sh
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
+#
+#minute hour mday month wday who command
+
+# Run hommabot every Monday at 9:00 AM
+0 9 * * 1 root /bin/sh -c "cd /root/hommabot && node index.js"
diff --git a/roles/jails/06_hommabot/templates/root_hommabot_deps.sh b/roles/jails/06_hommabot/templates/root_hommabot_deps.sh
new file mode 100644
index 0000000..25c0e56
--- /dev/null
+++ b/roles/jails/06_hommabot/templates/root_hommabot_deps.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -eux
+cd /root/hommabot
+npm ci
+
+# We need to build the better-sqlite3.node file before running the app
+if [ ! -f build/better_sqlite3.node ]; then (
+ mkdir -p build
+ cd node_modules/better-sqlite3
+ npm run build-release
+ cp build/Release/better_sqlite3.node ../../build/better_sqlite3.node
+)
+fi
diff --git a/roles/jails/06_hommabot/templates/root_hommabot_env.j2 b/roles/jails/06_hommabot/templates/root_hommabot_env.j2
new file mode 100644
index 0000000..c66c666
--- /dev/null
+++ b/roles/jails/06_hommabot/templates/root_hommabot_env.j2
@@ -0,0 +1,4 @@
+TELEGRAM_BOT_TOKEN="{{ hommabot_telegram_bot_token }}"
+SHEETS_SPREADSHEET_ID="{{ hommabot_sheets_spreadsheet_id }}"
+SHEETS_RANGE="{{ hommabot_sheets_range }}"
+G_SA_JSON_B64="{{ hommabot_g_sa_json_b64 }}"