19 lines
857 B
Bash
19 lines
857 B
Bash
#!/bin/sh
|
|
# Kontra content deploy: pull from Gitea; restart site if content changed.
|
|
# Runs as ROOT (systemd oneshot). Git runs as 'sam' (uses sam's Gitea SSH key)
|
|
# via runuser (NixOS-native drop-privilege); restart needs root.
|
|
set -e
|
|
CONTENT=/var/www/kontra_day/content
|
|
GIT=/run/current-system/sw/bin/git
|
|
RUNUSER=/run/current-system/sw/bin/runuser
|
|
|
|
BEFORE=$("$RUNUSER" -u sam -- "$GIT" -C "$CONTENT" rev-parse HEAD)
|
|
"$RUNUSER" -u sam -- "$GIT" -C "$CONTENT" pull --ff-only origin main >/tmp/kontra-pull.log 2>&1 \
|
|
|| { echo "pull failed:"; cat /tmp/kontra-pull.log; exit 1; }
|
|
AFTER=$("$RUNUSER" -u sam -- "$GIT" -C "$CONTENT" rev-parse HEAD)
|
|
|
|
if [ -n "$BEFORE" ] && [ -n "$AFTER" ] && [ "$BEFORE" != "$AFTER" ]; then
|
|
echo "content changed: $BEFORE -> $AFTER; restarting kontra"
|
|
"/run/current-system/sw/bin/systemctl" restart kontra.service
|
|
fi
|
|
exit 0 |