Files
senior-kiosk/deploy.sh
T

42 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Deploy latest kiosk code.
# Always commits to Gitea and restarts kiosk-dev (dev/test machine).
# If the production kiosk is reachable, deploys there too.
# Usage: ./deploy.sh ["commit message"]
KIOSK_LOCAL="jgitta@192.168.88.44"
KIOSK_REMOTE="jgitta@100.64.0.1"
REPO_DIR="$(cd "$(dirname "$0")" && pwd)"
COMMIT_MSG="${1:-deploy: update from kiosk-dev $(date +%Y-%m-%d)}"
echo "==> Committing and pushing to Gitea..."
git -C "$REPO_DIR" add -A
git -C "$REPO_DIR" commit -m "$COMMIT_MSG" 2>/dev/null || echo " (nothing new to commit)"
git -C "$REPO_DIR" push origin master || echo " (nothing new to push)"
echo "==> Restarting kiosk-dev..."
/usr/local/bin/kiosk-restart
echo "==> Trying production kiosk..."
KIOSK=""
if ssh -o ConnectTimeout=5 -o BatchMode=yes $KIOSK_LOCAL "echo ok" &>/dev/null; then
KIOSK="$KIOSK_LOCAL"
echo " Reaching production via local network"
elif ssh -o ConnectTimeout=8 -o BatchMode=yes $KIOSK_REMOTE "echo ok" &>/dev/null; then
KIOSK="$KIOSK_REMOTE"
echo " Reaching production via Tailscale"
else
echo " Production kiosk unreachable — skipping (will deploy when online)"
fi
if [ -n "$KIOSK" ]; then
ssh "$KIOSK" "
cd /home/jgitta/kiosk-browser
git pull
/usr/local/bin/kiosk-restart
"
echo " Production updated."
fi
echo "==> Deploy complete!"