DIY Backup Storage: A Hacker's Guide to 3-2-1 Without Paying a Cent
One engineer's journey to build a free, multi-layer backup system using Syncthing, restic, and rclone—and the painful lessons learned along the way.
Backing up your own files shouldn't feel like a second job. Yet for one developer, the quest to implement the 3-2-1 backup strategy across personal devices turned into a saga of file system compromises, cloud API throttling, and mobile app workarounds. The result is a brutally honest field report on what works, what doesn't, and why 'free' often means 'fragile'.
The 3-2-1 Setup
The author's interpretation of 3-2-1 (three copies, two media types, one offsite) breaks down into three layers: a working sync layer, a local hard drive, and a cloud provider. Each layer came with its own set of headaches.
Layer 1: Syncthing for Live Sync
The working layer uses Syncthing to keep files in sync across a Minisforum mini-PC (the 'ground truth'), a GMKtec M3 NAS, and a Windows laptop. The author notes that Syncthing is not backup—if one device corrupts a file and syncs it, all copies corrupt. It's a single layer, not a safety net.
Mobile access required Tailscale to reach the NAS from an iPhone, using Runestone as a file viewer. Android proved worse, forcing a convoluted chain of Total Commander, its LAN extension, and Acode just to read and edit files. The author's verdict: 'Tailscale is the true king; syncthing is amazing; iOS is better than I remembered; Android has gotten almost as bad as Windows.'
Layer 2: Hard Drive with restic
For the local backup, restic was the tool of choice. It compressed 12GB of data to 6GB with deduplication, and a systemd timer automates weekly backups. The friction came from the file system: the drive defaulted to FAT32, and switching to exFAT for Windows compatibility meant sacrificing ext4's efficiency. The author settled on FAT32 out of laziness, a compromise many will recognize.
Layer 3: Cloud Offsite—The Pain Point
The cloud layer was the most painful. Google Drive's free 15GB (shared with Gmail) required deleting emails to free space. restic over the network was painfully slow, stalling on API rate limits and latency. The author eventually gave up on restic for the cloud and fell back to zipping the Sync folder and uploading via rclone—ugly but functional, and done manually.
Photos added another layer of complexity. PhotoSync transfers from iPhone to a folder in Sync, but it lacks automatic transfers, so the process is manual. The result is a Rube Goldberg machine that works but is far from elegant.
Takeaways for the DIY Backup Engineer
- Syncthing is excellent for live sync but isn't a backup—corruption propagates.
- restic shines locally but struggles over network mounts with API limits.
- Free cloud tiers come with hidden costs: storage shared with email, throttling, and manual processes.
- Mobile file access remains a fragmented mess, with no single app solving all needs.
The author's journey is a reminder that 'free' backup solutions often trade money for time and frustration. For engineers, the lesson is to pick tools that match your tolerance for maintenance—and sometimes, a paid service is the cheaper option.
Tailscale is the true king; syncthing is amazing; iOS is better than I remembered; Android has gotten almost as bad as Windows.
Discussion
0 Comments
Be the first to start the discussion.