← back to Homesonspec
deploy-web.sh
22 lines
#!/usr/bin/env bash
# Ship the whole apps/web source tree to the live Kamatera site, rebuild, restart.
# ! bash ~/Projects/homesonspec/deploy-web.sh
set -euo pipefail
KH=root@45.61.58.125; REMOTE=/root/Projects/homesonspec; WEB=9975
echo "── 1/3 ship apps/web/src ──"
rsync -az --delete ~/Projects/homesonspec/apps/web/src/ $KH:$REMOTE/apps/web/src/ && echo " synced apps/web/src"
echo "── 2/3 rebuild web ──"
ssh $KH "cd $REMOTE; export PATH=\$PATH:/root/.npm-global/bin:/usr/local/bin
pnpm --filter @homesonspec/web build 2>&1 | grep -iE 'Compiled successfully|Failed|error TS|Type error' | head -4"
echo "── 3/3 restart + verify ──"
ssh $KH "cd $REMOTE; export PATH=\$PATH:/root/.npm-global/bin:/usr/local/bin
pm2 restart homesonspec-web --update-env >/dev/null; sleep 4
echo -n ' local web → '; curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:$WEB/
echo -n ' /map page → '; curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:$WEB/map
echo -n ' /api/map count → '; curl -s http://127.0.0.1:$WEB/api/map | python3 -c 'import sys,json;d=json.load(sys.stdin);print(d[\"total\"],\"markers,\",len(d[\"builders\"]),\"builder(s)\")'
echo -n ' public https → '; curl -s -o /dev/null -w '%{http_code}\n' https://homesonspec.com/map"
echo "✅ web deployed"