diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2025-10-07 15:51:43 +0300 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-10-07 15:51:43 +0300 |
| commit | e037ecfa8cc0133a84fbed791b7658c474c3e748 (patch) | |
| tree | 5305efc6c4b51caeeade79b172a1faab915a1d4e /templates | |
| parent | 1b9ed1426e93c335c3ffa7836813cb109b89ee22 (diff) | |
Add hommabot jail
Diffstat (limited to 'templates')
| -rw-r--r-- | templates/diddle/root_clone.sh | 14 | ||||
| -rw-r--r-- | templates/hommabot/etc_crontab.j2 | 10 | ||||
| -rw-r--r-- | templates/hommabot/root_hommabot_deps.sh | 14 | ||||
| -rw-r--r-- | templates/hommabot/root_hommabot_env.j2 | 4 | ||||
| -rw-r--r-- | templates/root_clone.sh | 21 |
5 files changed, 49 insertions, 14 deletions
diff --git a/templates/diddle/root_clone.sh b/templates/diddle/root_clone.sh deleted file mode 100644 index a3dbdac..0000000 --- a/templates/diddle/root_clone.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -# Exits with 100 if the directory was changed - -if [ ! -f /root/diddle ]; then - git clone https://github.com/jantuomi/diddle.git /root/diddle && exit 100 -fi - -cd /root/diddle -before=$(git rev-parse HEAD) -git fetch && git pull --ff-only --quiet -after=$(git rev-parse HEAD) - -if [ "$before" != "$after" ]; then exit 100; fi diff --git a/templates/hommabot/etc_crontab.j2 b/templates/hommabot/etc_crontab.j2 new file mode 100644 index 0000000..556d12a --- /dev/null +++ b/templates/hommabot/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/templates/hommabot/root_hommabot_deps.sh b/templates/hommabot/root_hommabot_deps.sh new file mode 100644 index 0000000..25c0e56 --- /dev/null +++ b/templates/hommabot/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/templates/hommabot/root_hommabot_env.j2 b/templates/hommabot/root_hommabot_env.j2 new file mode 100644 index 0000000..c66c666 --- /dev/null +++ b/templates/hommabot/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 }}" diff --git a/templates/root_clone.sh b/templates/root_clone.sh new file mode 100644 index 0000000..7f92c5f --- /dev/null +++ b/templates/root_clone.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +REPO="$1" +TARGET="$2" + +set -eux + +# Exits with 100 if the directory was changed + +if [ ! -d "$TARGET" ]; then + git clone --depth=1 --branch main --single-branch "$REPO" "$TARGET" + exit 100 +fi + +cd "$TARGET" +before=$(git rev-parse HEAD) +git fetch --depth=1 --prune origin main +git reset --hard origin/main +after=$(git rev-parse HEAD) + +if [ "$before" != "$after" ]; then exit 100; fi |
