feat: preserve database across deployments

- Added database backup before deployment
- Added database restore after deployment
- Set correct ownership on restored database
This commit is contained in:
Josh Finlay 2025-01-08 09:30:46 +10:00
parent 96dcdb4c86
commit 56d1507cf7
1 changed files with 11 additions and 0 deletions

View File

@ -32,12 +32,23 @@ echo "=== Deploying to Raspberry Pi ==="
ssh $SSH_OPTS gatekeeper@dlbGatekeeper << 'EOF' ssh $SSH_OPTS gatekeeper@dlbGatekeeper << 'EOF'
set -e 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 ===" echo "=== Extracting deployment files ==="
cd /home/gatekeeper cd /home/gatekeeper
sudo rm -rf /home/gatekeeper/gatekeeper sudo rm -rf /home/gatekeeper/gatekeeper
sudo mkdir -p /home/gatekeeper/gatekeeper sudo mkdir -p /home/gatekeeper/gatekeeper
sudo tar xzf gatekeeper.tar.gz -C /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 ===" echo "=== Cleaning up ==="
rm gatekeeper.tar.gz rm gatekeeper.tar.gz
EOF EOF