Backups are important, like really important. Now that I’ve stated the obvious, let me also talk about the challenges. The first one is cloud storage, and how the prices keep creeping up. As your data grows, your bill grows with it. Silly me started with a humble 200GB iCloud plan, thinking it would last me forever. In reality, it lasted exactly six months before Apple started pushing me toward the 2TB plan, which I eventually bought (congrats, Apple). But then it hit me that I’d end up paying way too much for cloud storage over time and would be better off backing everything up to the Ugreen NAS I already had lying around. I’ve been using a tool called Restic for this, and it’s been fantastic. It’s open-source, free, and really easy to use.

Restic is better than other backup tools

It gets the job done without any headaches

Restic is one of those tools that gets the fundamentals of backup right without burying you under complexity. It treats data as content instead of a simple list of files, and that one decision shapes everything else. It uses content-defined chunking to break files into blocks based on the data itself, not fixed sizes.

So if you tweak a huge file or insert a single byte, Restic doesn’t freak out and reupload the whole thing. Only the affected chunks change; everything else remains intact. This lets it aggressively deduplicate across versions and even across different machines, so that common files, libraries, or media live in the repository only once. To keep performance steady, Restic packs these blobs together before writing them to storage, which cuts down on I/O overhead and API calls, especially on NAS setups.

Restic encrypts everything locally before sending it anywhere, using AES-256-CTR with Poly1305 for authentication. The storage backend never sees plaintext, and a clean key hierarchy lets you rotate passwords without rewriting terabytes of data. Every backup run becomes a snapshot you can browse or restore from, and because most of the data is deduplicated and reused, you can keep dozens or hundreds of snapshots without wasting space. After the initial backup, Restic only sends new or changed chunks, which makes daily runs quick and light on bandwidth.

The tool is backend-agnostic, so you can point it at S3, Backblaze, Azure, Google Cloud, SFTP, local disks, or Restic’s own REST server. The REST server is the part I appreciate the most because it lets me back up everything quickly to my NAS. It’s lightweight, supports append-only mode, which prevents a compromised machine from wiping your backup history, since clients can only add data, not delete it.

It ships as a single static binary for Linux, macOS, Windows, and BSD, so you don’t deal with runtimes or dependency chains. Verification tools are built in. You can check the structure of the repository, verify individual blobs, or run statistical checks to catch early signs of corruption without pulling down the entire backup. Maintenance is handled through forget and prune, where forget trims snapshot history, and prune actually reclaims space by repacking data.

I have noticed that pruning is memory-intensive, so you’ll have to be conscious here. This is probably because Restic relies on RAM for fast lookups instead of hammering the backend with constant requests. If your repository is massive, you may need more memory or multiple repositories.

Setting Restic up is super easy

No matter which OS or NAS you are using

I installed Restic on my Mac, and the easiest way to get started was through Homebrew. Simply run brew install restic in your terminal. Restic offers several methods of connecting to your NAS, each with its own advantages. The SFTP method works with most NAS devices that have SSH enabled and uses the format:

sftp:user@nas-ip:/path/to/backup. 

You can also run Restic's REST server on your NAS and connect using rest:http://nas-ip:8000/, or mount your NAS as a local directory via SMB/CIFS and use a standard local path like /Volumes/NASShare/backup. I'll focus on SFTP since it's the most universally compatible approach. Before you can start backing up, you need to create a repository on your NAS:

restic -r sftp:username@192.168.1.100:/volume1/backups/restic init

During initialization, you'll be prompted to enter your NAS password (if using password authentication) and create a repository password. This repository password is crucial. You'll need it for every backup and restore operation, so store it somewhere safe. Once your repository is initialized, backing up is straightforward. To back up a single directory like your Documents folder:

restic -r sftp:username@192.168.1.100:/volume1/backups/restic backup ~/Documents

You can also back up multiple directories in one command:

restic -r sftp:username@192.168.1.100:/volume1/backups/restic backup ~/Documents ~/Pictures ~/Desktop

Typing your repository URL and password repeatedly gets tedious quickly. Create a file at ~/.restic_env with your credentials to simplify this:

export RESTIC_REPOSITORY="sftp:username@192.168.1.100:/volume1/backups/restic"
export RESTIC_PASSWORD="your-repository-password"

Not everything needs to be backed up. Create an exclude file at `~/.restic_exclude` listing patterns for files and directories you want to skip. Restic makes it easy to manage your backup history. You can view all your snapshots with restic snapshots, verify repository integrity with restic check, and get storage statistics using restic stats. When you need to restore files, you can pull the latest snapshot. Over time, you'll accumulate many snapshots, which can consume storage. Restic's forget command helps you implement a retention policy. For example:

restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune

This command keeps the last seven daily snapshots, four weekly snapshots, and 12 monthly snapshots, pruning everything else to reclaim space.

Take control of your data

It’s easy to take control of your data, and a NAS is one of the best devices to help you do that. If you’re not sure where to start, check out these common NAS myths that people believe even though they’re completely wrong. And if you’re feeling adventurous, you can even turn an Xbox 360 into a NAS. While you’re at it, take a look at how a NAS can help you organize your creative life.