← back to Dw Photo Capture

scripts/STEVE-PASTE-tk12090-deploy2.sh

11 lines

#!/bin/bash
# TK-12090 deploy 2: server.js (247c9f9 provider=null on failure) + _shared exo-vision.mjs
# (06dacfd key redaction), with timestamped backups, then one verify call printing the error.
# Undo: mv each .pre-tk12090b-*.bak back + pm2 restart 226.
# Verifier source: scripts/verify-vision.py (piped over ssh stdin; it refuses blank VU/VP).
set -e
scp ~/Projects/dw-photo-capture/server.js root@45.61.58.125:/root/public-projects/dwphoto/server.js.tk12090-new
scp ~/Projects/_shared/lib/exo-vision.mjs root@45.61.58.125:/root/public-projects/_shared/lib/exo-vision.mjs.tk12090-new
ssh root@45.61.58.125 'TS=$(date -u +%Y%m%dT%H%M%SZ); D=/root/public-projects; cp $D/dwphoto/server.js $D/dwphoto/server.js.pre-tk12090b-$TS.bak && cp $D/_shared/lib/exo-vision.mjs $D/_shared/lib/exo-vision.mjs.pre-tk12090b-$TS.bak && mv $D/dwphoto/server.js.tk12090-new $D/dwphoto/server.js && mv $D/_shared/lib/exo-vision.mjs.tk12090-new $D/_shared/lib/exo-vision.mjs && pm2 restart 226 >/dev/null && sleep 3 && printf "healthz=" && curl -s -m 5 http://127.0.0.1:9912/healthz && printf "\nbackups=*.pre-tk12090b-%s.bak\n" "$TS"'
ssh root@45.61.58.125 'PID=$(ss -lptnH "sport = :9912" 2>/dev/null | grep -oP "pid=\K[0-9]+" | head -1); [ -z "$PID" ] && { echo "ERR: no PID on :9912"; exit 1; }; export VU=$(tr "\0" "\n" </proc/$PID/environ | grep -m1 ^AUTH_USER= | cut -d= -f2-); export VP=$(tr "\0" "\n" </proc/$PID/environ | grep -m1 ^AUTH_PASS= | cut -d= -f2-); python3 -' < ~/Projects/dw-photo-capture/scripts/verify-vision.py