Cross-platform desktop app for backing up Django sites from remote servers with restic, SSH, and optional local-PC storage.
Pre-built packages are published on GitHub Releases:
| Platform | File | How to run |
|---|---|---|
| Linux | smart-backup-linux-x86_64.tar.gz |
Extract, then run ./smart-backup/smart-backup |
| Windows | smart-backup-windows-x86_64.zip |
Extract, then run smart-backup\smart-backup.exe |
| macOS | smart-backup-macos-arm64.zip |
Extract, open Smart Backup Manager.app |
- restic must be installed separately for backup/restore:
- Linux:
sudo pacman -S restic/sudo apt install restic - macOS:
brew install restic - Windows: restic releases
- Linux:
- rsync (optional, faster downloads on Linux/macOS): usually pre-installed
- SSH key access to your servers
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python main.pypip install -r requirements.txt -r requirements-build.txt
pyinstaller packaging/smart_backup.spec --noconfirm --clean
# Output: dist/smart-backup/ (or dist/Smart Backup Manager.app on macOS)git tag v0.8.0
git push origin v0.8.0GitHub Actions builds Linux, Windows, and macOS packages and attaches them to the release automatically.
Backups use the correct dump tool per engine (auto-detected from Django settings, .env, wp-config.php, or Docker):
| Engine | Dump format |
|---|---|
| SQLite | .sqlite3 (Django default) |
| PostgreSQL | .sql via pg_dump |
| MySQL / MariaDB | .sql via mysqldump |
| MongoDB | directory archived as .tar.gz |
| Redis | .rdb snapshot |
Credentials are read from the server at backup time (not stored locally).
- SSH server management and site scanning
- Selective backup: code, media, database (separate restic snapshots)
- Local PC or remote server restic repositories
- Scheduled backups, retention, restore with confirmations
- Archive browser and dashboard
Data is stored under ~/.smart_backup/ (database, staging, credentials).