Skip to content

Instantly share code, notes, and snippets.

@RussellJapheth
Created February 14, 2026 23:55
Show Gist options
  • Select an option

  • Save RussellJapheth/2a969c01cfe030169e88622a14064ed8 to your computer and use it in GitHub Desktop.

Select an option

Save RussellJapheth/2a969c01cfe030169e88622a14064ed8 to your computer and use it in GitHub Desktop.
deploy.sh
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$SCRIPT_DIR/.."
cd "$PROJECT_ROOT"
echo "Building SvelteKit app..."
pnpm run build
echo "Preparing PocketBase data archive..."
cd pocketbase
zip -rq data.zip pb_public pb_migrations pb_hooks
cd ..
SERVER_USER="grace"
SERVER_IP="myserver.com"
REMOTE_DIR="/opt/apps/emr"
PORT="22"
PASSWORD_FILE="$SCRIPT_DIR/.serverPass"
echo "Uploading archive..."
sshpass -f "$PASSWORD_FILE" scp -P "$PORT" pocketbase/data.zip \
"$SERVER_USER@$SERVER_IP:$REMOTE_DIR"
echo "Extracting on remote server..."
sshpass -f "$PASSWORD_FILE" ssh -p "$PORT" "$SERVER_USER@$SERVER_IP" "
unzip -o $REMOTE_DIR/data.zip -d $REMOTE_DIR &&
rm $REMOTE_DIR/data.zip &&
systemctl restart emr-service
"
echo "Cleaning up local archive..."
rm pocketbase/data.zip
echo "Deployment complete."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment