#!/usr/bin/env bash set -euo pipefail # Configuration UBERSPACE_HOST="${UBERSPACE_HOST:?Set UBERSPACE_HOST (e.g. user@asteroid.uberspace.de)}" REMOTE_HTML_DIR="~/html/whattoplay" REMOTE_SERVICE_DIR="~/services/whattoplay" echo "==> building frontend..." bun run build echo "==> syncing frontend to $REMOTE_HTML_DIR/" ssh "$UBERSPACE_HOST" "mkdir -p $REMOTE_HTML_DIR" rsync -avz --delete dist/ "$UBERSPACE_HOST:$REMOTE_HTML_DIR/" echo "==> syncing server to $REMOTE_SERVICE_DIR/" ssh "$UBERSPACE_HOST" "mkdir -p $REMOTE_SERVICE_DIR/src" rsync -avz --delete \ server/src/ "$UBERSPACE_HOST:$REMOTE_SERVICE_DIR/src/" rsync -avz \ server/package.json "$UBERSPACE_HOST:$REMOTE_SERVICE_DIR/" echo "==> installing server dependencies..." ssh "$UBERSPACE_HOST" "cd $REMOTE_SERVICE_DIR && npm install --production" echo "==> restarting service..." ssh "$UBERSPACE_HOST" "supervisorctl restart whattoplay || supervisorctl start whattoplay" 2>/dev/null || true echo "==> deploy complete"