667b1a82c3
Per the logo + brand: the name is upbeatBytes (camelCase). Swept all user-facing strings — titles/og:site_name/og:title, logo alt text, share pages (share.py), emails (email_send), classifier prompt (llm), digest/unsubscribe (api), PWA manifest, game share text, sign-in, the SPA shell + patch-static-heads (play title) — plus README/publish.sh and the email test fixture. (SMTP From env was already upbeatBytes.) Domains (upbeatbytes.com) unchanged. 425 BE + 36 FE green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
30 lines
1.2 KiB
Bash
Executable File
30 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Publish upbeatBytes: build the frontend, sync it to the live Caddy site,
|
|
# rebuild/restart the API container, and reload Caddy. One command to redeploy.
|
|
set -euo pipefail
|
|
|
|
repo="$(cd "$(dirname "$0")/.." && pwd)"
|
|
site="/home/jay/srv/sites/upbeatbytes"
|
|
api_compose="/home/jay/srv/upbeatbytes/compose.yaml"
|
|
|
|
echo "→ building frontend"
|
|
( cd "$repo/frontend" && npm run build )
|
|
|
|
echo "→ syncing static site to $site (assets first, shell + SW last)"
|
|
bash "$repo/deploy/sync-static.sh" "$repo/frontend/build" "$site"
|
|
|
|
echo "→ rebuilding/refreshing API container"
|
|
docker compose -f "$api_compose" up -d --build
|
|
|
|
echo "→ reloading Caddy"
|
|
docker exec caddy caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile
|
|
|
|
# Non-fatal smoke check: the digest masthead points at this static asset, so a
|
|
# missing/unserved logo-email.png would silently break the newsletter header.
|
|
echo "→ smoke check"
|
|
curl -fsS -o /dev/null -w ' logo-email.png → %{http_code} %{content_type}\n' \
|
|
https://upbeatbytes.com/logo-email.png \
|
|
|| echo " ⚠ logo-email.png is not being served — the digest masthead would break!"
|
|
|
|
echo "✓ Published upbeatBytes → https://upbeatbytes.com"
|