Files
homelab-configs/FILES_MANIFEST.txt
T
jgitta 2625cf36d2 Add: Nextcloud Backblaze B2 backup solution - automated daily backups
- Complete backup script for native Nextcloud (MySQL + files)
- Systemd service and timer for daily automated backups at 2 AM
- Backblaze B2 integration with secure credential storage
- Incremental backup support with 30-day retention
- zstd compression for 40-70% storage reduction
- Comprehensive documentation and deployment guides
- Successfully tested with first backup: 203MB DB + 1.3GB files
- Cost-optimized: ~/bin/bash.01-0.02/month for 1.5GB data

Deployment Details:
- Installed B2 CLI via pipx
- Created backup directories at /opt/nextcloud-backup/
- Configured systemd timer for daily execution at 2 AM
- First backup verified in B2 bucket: jg-nextcloud
- Automated scheduling enabled and tested

Documentation includes:
- Deployment report with complete setup details
- Quick start guide for future deployments
- Comprehensive technical reference
- Troubleshooting procedures
- File manifest and index
2026-04-25 18:00:07 -05:00

308 lines
9.0 KiB
Plaintext

Nextcloud to Backblaze B2 Backup Solution - Complete File Manifest
===================================================================
TOTAL: 11 Files | ~65 KB of code + documentation | Ready to deploy
Documentation Files (Read These First!)
======================================
1. START_HERE.txt (New!)
- Quick orientation guide
- File overview
- Next steps
- Learning paths
- Q&A
Purpose: GET YOUR BEARINGS
2. INDEX.md
- File guide & organization
- Learning paths (beginner → advanced)
- Help matrix (which doc for which problem)
- File reference table
Purpose: NAVIGATE ALL FILES
3. README_NEXTCLOUD_BACKUPS.md
- Complete overview of solution
- Features at a glance
- System requirements
- How it works (visual)
- Cost estimates
- Installation summary
- Common commands
- Troubleshooting pointers
Purpose: UNDERSTAND EVERYTHING
4. BACKUP_QUICK_START.md
- TL;DR setup guide
- 5-minute installation
- Common commands
- File locations
- Restore shortcuts
- Troubleshooting quick reference
Purpose: GET RUNNING FAST
5. NEXTCLOUD_BACKBLAZE_SETUP.md
- Comprehensive reference manual
- Step-by-step installation
- Detailed backup strategy
- Usage patterns
- Complete restore procedures
- Extensive troubleshooting
- Advanced configuration
- Maintenance schedules
- Cost optimization
Purpose: DETAILED REFERENCE FOR EVERYTHING
6. DEPLOYMENT_CHECKLIST.md
- Pre-deployment checklist
- Installation verification
- Configuration steps
- Testing procedures
- Post-deployment checks
- Daily/weekly/monthly tasks
- Emergency contacts
Purpose: VALIDATE DEPLOYMENT
Script Files (Copy to System)
============================
7. install-nextcloud-backup.sh (EXECUTABLE)
- One-command automated installer
- Checks dependencies
- Creates directories
- Installs scripts & configs
- Provides step-by-step guidance
- Size: ~8 KB
Usage: sudo ./install-nextcloud-backup.sh
8. nextcloud-backup-to-backblaze.sh (EXECUTABLE)
- Main backup engine
- Database dump (MariaDB/PostgreSQL)
- Incremental/full backup logic
- File compression (zstd)
- B2 upload
- Retention management
- Complete logging
- Size: ~11 KB
Usage: /opt/nextcloud-backup/nextcloud-backup-to-backblaze.sh [incremental|full]
Configuration Files (Customize)
==============================
9. nextcloud-backup.env.template
- Configuration template
- Nextcloud paths
- Database settings
- Backup strategy
- Retention & compression
- Logging options
Size: ~2.8 KB
Location after install: /opt/nextcloud-backup/.env
systemd Integration Files (Deploy)
================================
10. nextcloud-backup.service
- systemd service definition
- Runs backup script
- Environment variables
- Resource limits
- Security hardening
- Error handling
Size: ~1 KB
Location: /etc/systemd/system/nextcloud-backup.service
11. nextcloud-backup.timer
- systemd timer definition
- Scheduling (default 2 AM daily)
- Persistent scheduling
- Randomized delays
Size: ~526 bytes
Location: /etc/systemd/system/nextcloud-backup.timer
Installation Locations
======================
After running installer (sudo ./install-nextcloud-backup.sh):
/opt/nextcloud-backup/
├── .env (your config)
├── nextcloud-backup-to-backblaze.sh (script)
├── .backups/
│ ├── logs/ (backup logs)
│ └── .backup-state.json (metadata)
└── [temp files deleted after backup]
/etc/nextcloud-backup/
└── b2-credentials.env (B2 API keys - SECRET!)
/etc/systemd/system/
├── nextcloud-backup.service
└── nextcloud-backup.timer
Quick Start Usage
=================
Read first: cat START_HERE.txt
Get running fast: cat BACKUP_QUICK_START.md
sudo ./install-nextcloud-backup.sh
Full reference: cat NEXTCLOUD_BACKBLAZE_SETUP.md
File Organization Chart
=======================
START_HERE.txt ← [orientation]
├─→ README_NEXTCLOUD_BACKUPS.md [understanding]
│ ↓
│ └─→ BACKUP_QUICK_START.md [setup]
│ ↓
│ └─→ install-nextcloud-backup.sh [deploy]
├─→ NEXTCLOUD_BACKBLAZE_SETUP.md [reference]
│ ↓
│ └─→ [advanced config/troubleshooting]
└─→ DEPLOYMENT_CHECKLIST.md [validation]
└─→ [confirm everything works]
Documentation Reading Times
============================
File Time Audience
─────────────────────────────────────────────────────────
START_HERE.txt 5 min Everyone
BACKUP_QUICK_START.md 5-10 Fast deployers
README_NEXTCLOUD_BACKUPS.md 10-15 Overview seekers
INDEX.md 10 Reference users
NEXTCLOUD_BACKBLAZE_SETUP.md 20-30 Deep divers
DEPLOYMENT_CHECKLIST.md 30 QA/validation
Recommended Reading Order
========================
Scenario 1 - Just Want It Running (15 min total):
1. START_HERE.txt (5 min)
2. BACKUP_QUICK_START.md (10 min)
3. Run installer
Scenario 2 - Want to Understand (45 min total):
1. START_HERE.txt (5 min)
2. README_NEXTCLOUD_BACKUPS.md (15 min)
3. BACKUP_QUICK_START.md (10 min)
4. Run installer
5. Test backup (15 min)
Scenario 3 - Production Deployment (1.5 hours):
1. All documentation
2. Run installer
3. Full configuration
4. Extensive testing
5. DEPLOYMENT_CHECKLIST.md
6. Validation & sign-off
Key Features Across Files
==========================
Feature Location
─────────────────────────────────────────────────────────
Automated backups All docs, script
Incremental backups Setup.md, script
Database backup All docs, script
Compression All docs, script
Retention Setup.md, script, template
systemd integration All docs, service, timer
Security Setup.md, script, service
Monitoring Setup.md, Quick.md
Restoration Setup.md, Quick.md
Troubleshooting Setup.md, Quick.md
Cost analysis README.md, Setup.md
Advanced config Setup.md
File Dependencies
=================
You MUST have:
✓ install-nextcloud-backup.sh (installer)
✓ nextcloud-backup-to-backblaze.sh (engine)
✓ nextcloud-backup.service (systemd)
✓ nextcloud-backup.timer (scheduler)
✓ nextcloud-backup.env.template (config)
You NEED documentation (pick one):
✓ BACKUP_QUICK_START.md (fast)
✓ README_NEXTCLOUD_BACKUPS.md (overview)
✓ NEXTCLOUD_BACKBLAZE_SETUP.md (complete)
Helpful to have:
✓ START_HERE.txt (navigation)
✓ INDEX.md (file guide)
✓ DEPLOYMENT_CHECKLIST.md (validation)
Security Files
==============
After installation, these files contain secrets:
- /etc/nextcloud-backup/b2-credentials.env
Permissions: 600 (root only)
Contents: B2 Account ID + Application Key
DO NOT: commit to git, share, or expose
Never stored in:
✓ Scripts (no hardcoded credentials)
✓ Logs (sanitized)
✓ Config templates (placeholders only)
✓ Git repository (should be gitignored)
Version Information
===================
Created: April 25, 2026
Tested with: Nextcloud 26+, Backblaze B2, Docker
Script size: ~600 lines of shell
Docs size: ~60 KB
Total size: ~65 KB (very lightweight!)
Compatibility
=============
Operating System: Linux (systemd required)
Nextcloud: Version 20+ (tested with 26+)
Database: MariaDB or PostgreSQL (auto-detected)
Docker: Required (running Nextcloud)
Shell: bash
CLI Tools: b2, docker-compose, jq, tar, zstd
Support & Help
==============
For questions, see:
- START_HERE.txt (quick answers)
- INDEX.md (find the right doc)
- Relevant .md file (detailed help)
- DEPLOYMENT_CHECKLIST.md (validation)
Common issues:
- Backup not running → see Quick.md troubleshooting
- B2 auth fails → see Setup.md B2 section
- Path issues → see Setup.md installation
- Restore needed → see Setup.md restore section
Ready to Deploy?
================
✅ All files present
✅ Scripts are executable
✅ Documentation is complete
✅ Configuration templates ready
✅ Installer works out of the box
Next step: Read START_HERE.txt or run installer!
───────────────────────────────────────────────────────
Generated: April 25, 2026
Manifest Version: 1.0
Status: Complete & Ready for Deployment
───────────────────────────────────────────────────────