#!/bin/bash # Brother QL Bridge - Nightly Update Script # Pulls latest code from GitHub and restarts the service if anything changed. set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" cd "$PROJECT_DIR" echo "Fetching latest changes from origin/main..." git fetch origin main LOCAL=$(git rev-parse HEAD) REMOTE=$(git rev-parse origin/main) if [ "$LOCAL" = "$REMOTE" ]; then echo "Already up to date." exit 0 fi echo "Updating from $LOCAL to $REMOTE..." # Check if requirements.txt will change REQUIREMENTS_CHANGED=$(git diff HEAD origin/main --name-only -- requirements.txt) git reset --hard origin/main if [ -n "$REQUIREMENTS_CHANGED" ]; then echo "requirements.txt changed, reinstalling dependencies..." uv pip install -r requirements.txt fi echo "Restarting brother-ql-bridge service..." sudo systemctl restart brother-ql-bridge echo "Update complete."