Files
firefrost-operations-manual/automation/logs/setup-bookstack-sync_completed_20260209_105430.sh

49 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Setup BookStack → Gitea auto-sync
set -e
echo "=== Setting up BookStack Git Sync ==="
date
# Clone the repo to a sync location
cd /opt
git clone https://git.firefrostgaming.com/firefrost-gaming/firefrost-documentation.git
# Create sync script
cat > /opt/bookstack-sync.sh << 'SYNCEOF'
#!/bin/bash
# Sync BookStack database to Git
cd /opt/firefrost-documentation
# Export BookStack database
mysqldump -u bookstack_user -p'FirefrostBookStack2026!' bookstack_db > bookstack-backup.sql
# Add timestamp file
date > last-sync.txt
# Commit if changes
git add -A
if ! git diff --cached --quiet; then
git commit -m "BookStack backup: $(date '+%Y-%m-%d %H:%M:%S')"
git push origin main
echo "Synced to Git"
else
echo "No changes to sync"
fi
SYNCEOF
chmod +x /opt/bookstack-sync.sh
# Create cron job for hourly sync
echo "0 * * * * /opt/bookstack-sync.sh >> /var/log/bookstack-sync.log 2>&1" | crontab -
# Run initial sync
/opt/bookstack-sync.sh
echo ""
echo "=== Sync configured ==="
echo "Repository: https://git.firefrostgaming.com/firefrost-gaming/firefrost-documentation"
echo "Sync frequency: Hourly"
echo "Log: /var/log/bookstack-sync.log"