#!/bin/bash # Exit on error set -e echo "Building frontend..." cd frontend npm install npm run build cd .. echo "Creating deployment package..." rm -rf deploy mkdir -p deploy/public mkdir -p deploy/backend echo "Copying backend files..." cp -r backend/* deploy/backend/ chmod +x deploy/backend/main.py echo "Copying frontend build..." cp -r frontend/dist/* deploy/public/ echo "Creating deployment archive..." tar czf deploy.tar.gz -C deploy . echo "Copying files to Raspberry Pi..." SSH_OPTS="-o StrictHostKeyChecking=no" scp $SSH_OPTS deploy.tar.gz gatekeeper@dlbGatekeeper:~/gatekeeper.tar.gz echo "=== Deploying to Raspberry Pi ===" ssh $SSH_OPTS gatekeeper@dlbGatekeeper << 'EOF' set -e echo "=== Backing up database ===" cd /home/gatekeeper if [ -f "/home/gatekeeper/gatekeeper/backend/gatekeeper.db" ]; then sudo cp /home/gatekeeper/gatekeeper/backend/gatekeeper.db /home/gatekeeper/gatekeeper.db.backup fi echo "=== Extracting deployment files ===" cd /home/gatekeeper sudo rm -rf /home/gatekeeper/gatekeeper sudo mkdir -p /home/gatekeeper/gatekeeper sudo tar xzf gatekeeper.tar.gz -C /home/gatekeeper/gatekeeper echo "=== Restoring database ===" if [ -f "/home/gatekeeper/gatekeeper.db.backup" ]; then sudo mv /home/gatekeeper/gatekeeper.db.backup /home/gatekeeper/gatekeeper/backend/gatekeeper.db fi echo "=== Cleaning up ===" rm gatekeeper.tar.gz EOF echo "Local cleanup..." rm -rf deploy deploy.tar.gz