Files
wadamesh/scripts/deploy-site.sh
T
Kaj SchittecatandClaude Opus 4.8 3ed6f52b08 site: animate flasher logo + standalone marks; add deploy-site.sh
Propagate the mesh-mark animation (repeater broadcast rings + cyan signal
packets on the transport trails) to the flasher page and the standalone
wadamesh-mark.svg / wadamesh-lockup.svg. The standalone SVGs embed the CSS
inside the file so they animate even when used as <img>. badge.svg (favicon)
left static. All collapse to the static mark under prefers-reduced-motion.

Add scripts/deploy-site.sh: rsync deploy/site/ to the VPS web root
(/srv/wadamesh/site, the apex wadamesh.com origin), env-driven WADAMESH_VPS
like release.sh, with --dry-run support.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 13:22:16 +02:00

37 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# wadamesh site deploy: publish the static landing page (deploy/site/) to the
# VPS web root behind Cloudflare.
#
# The apex `wadamesh.com` nginx block serves /srv/wadamesh/site
# (flasher.wadamesh.com 301-redirects there), so that dir IS the live site.
#
# Usage:
# WADAMESH_VPS=user@your-vps scripts/deploy-site.sh # deploy
# WADAMESH_VPS=user@your-vps scripts/deploy-site.sh --dry-run # preview only
#
# Optional:
# WADAMESH_SITE_PATH=/srv/wadamesh/site # override the web root
#
# The VPS target comes from the environment — never commit it (Cloudflare fronts
# the origin, so the IP isn't needed in the repo).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
SRC="$ROOT/deploy/site/"
DEST="${WADAMESH_VPS:?set WADAMESH_VPS=user@host}"
DEST_PATH="${WADAMESH_SITE_PATH:-/srv/wadamesh/site}"
DRY=""
[ "${1:-}" = "--dry-run" ] && DRY="--dry-run"
# Mirror deploy/site/ -> web root. --delete prunes files no longer in the repo;
# everything under deploy/site/ is static (html, svg, json manifests).
rsync -avz $DRY --delete --chmod=D755,F644 "$SRC" "$DEST:$DEST_PATH/"
if [ -z "$DRY" ]; then
echo
echo "deployed deploy/site/ -> $DEST:$DEST_PATH"
echo "note: Cloudflare edge-caches; HTML is short-TTL but purge the zone if a"
echo " change doesn't show within a minute."
fi