AzureStorageBackup — I got tired of waiting for someone else’s backup tool to be fixed

I run a QNAP NAS, and for a long time its HBS3 handled my backups to Azure. Or tried to. Every so often something strange would surface in the Azure job, and every fix meant days of back-and-forth with support before anything moved. Eventually the arithmetic flipped: with AI helping me write it, building my own tool became cheaper than waiting for theirs to work.

So I did — and I added the things HBS3 never gave me. The one I wanted most is encrypted file names: archives are written with 7-Zip AES-256 including the header, so the storage container holds opaque pack blobs, not a readable map of my directory tree.

What it does today:

  • Incremental backups — unchanged files are never reopened; a file whose timestamp moved but whose content didn’t is re-hashed, not re-uploaded.
  • Small files packed, large files split into volumes, with per-extension rules for what not to compress.
  • Versions, retention, and Hot/Cool/Archive tiers.
  • Pause, Suspend, Resume. Every confirmed upload is journalled to disk, so an interrupted run — including a container upgrade — picks up where it stopped instead of resending terabytes.
  • Network hiccups back off and retry rather than failing the run.
  • Scheduled jobs, integrity checks, repair from your local copy, and restore.
  • One multi-arch Docker image (amd64 + arm64), web UI on a single port. Built for a NAS: 7-Zip runs at lowest CPU priority by default.

It only targets Azure Blob Storage, because that is all I need. If your destination is S3, Backblaze or a box in your basement, the engine is the part worth having — fork it and swap the back end. MIT licensed.

Try it: https://github.com/SecretNest/AzureStorageBackup

Issues and pull requests welcome.

Posted in NAS

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.