#!/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 "=== 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 # Copy backend files to root level for the service sudo cp -r /home/gatekeeper/gatekeeper/backend/* /home/gatekeeper/ echo "=== Restarting services ===" cd /home/gatekeeper sudo systemctl restart dlbgatekeeper echo "=== Cleaning up ===" rm gatekeeper.tar.gz EOF echo "Local cleanup..." rm -rf deploy deploy.tar.gz