30 lines
985 B
Bash
Executable File
30 lines
985 B
Bash
Executable File
#!/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"
|