Jellyfin server data protection

A Jellyfin server that dies takes more than a movie library with it. The custom posters, the years of watched-status flags, the collections a household actually uses, the metadata scraped and hand-corrected over months, all live inside the config directory and the SQLite database. Losing a drive is one kind of pain. Losing the polish is another. The best apps for Jellyfin server data protection on desktop cover both, and the ones we picked cover the third scenario nobody plans for either, which is a botched update that corrupts the library.db before you notice.

We tested eight tools on Windows, macOS, and Linux against a mid-sized library, roughly 8 TB of media and a 3 GB Jellyfin config. Five are backup engines, one is a parity system for media drives, one is a continuous replicator for offsite copies, and one handles filesystem snapshots on ZFS pools. Pick two or three from different rows and the server survives most disasters.

What to look for

A backup tool for a Jellyfin server carries a specific set of requirements:

Quick comparison

App Best for Platforms Free plan Starting price Rating
Kopia Encrypted deduplicating backups with a UI Windows, macOS, Linux Yes Free 4.7
Restic CLI backups to any object store Windows, macOS, Linux Yes Free 4.8
BorgBackup SSH-target dedup with long history macOS, Linux Yes Free 4.7
Duplicati Scheduled cloud backups with a web UI Windows, macOS, Linux Yes Free 4.3
Snapraid Parity redundancy for large media pools Windows, Linux Yes Free 4.6
rclone Fast one-way copies to cloud buckets Windows, macOS, Linux Yes Free 4.8
Syncthing Continuous file-level replication Windows, macOS, Linux Yes Free 4.7
Sanoid ZFS snapshot management and pruning Linux, macOS Yes Free 4.6

1. Kopia, best for encrypted deduplicating backups with a UI

Kopia is what the recent XDA piece on multi-layer Jellyfin protection kept hinting at without naming: an open-source backup engine with content-defined chunking, native encryption, snapshot compression, and a web UI that non-CLI users can actually run. Point it at the Jellyfin config folder and a media root, set two policies (hourly for config, weekly for media), and Kopia handles retention, verification, and offsite replication to S3, B2, Wasabi, or a plain SFTP target.

Where it falls short: the desktop app is Electron and eats memory on machines under 8 GB. Large first uploads can take days if the media pool is measured in terabytes.

Pricing:

Platforms: Windows, macOS, Linux, Docker.

Download: Kopia releases or GitHub source

Bottom line: pick Kopia when the household needs a friendly UI and the server has room to run it, and pair it with something else for the raw media redundancy.

2. Restic, best for CLI backups to any object store

Restic is a single-binary Go tool that does content-defined dedup, encryption, and incremental snapshots against local disks, SFTP, S3-compatible buckets, Backblaze B2, Azure Blob, and a dozen more targets. It handles the Jellyfin config folder in seconds after the first snapshot and its check command verifies the repository against silent corruption on the destination.

Where it falls short: the CLI is the interface. Pruning old snapshots on a large repository can take hours because Restic rewrites pack files rather than editing them in place.

Pricing:

Platforms: Windows, macOS, Linux, FreeBSD.

Download: Restic downloads or GitHub source

Bottom line: the pick when Kopia’s UI is not needed and the server is already scripted. Pair it with a wrapper like resticprofile for cron.

3. BorgBackup, best for SSH targets with long history

BorgBackup is older than Restic and still the sharper tool when the backup destination is another Linux box over SSH. Deduplication is aggressive, snapshots take almost no space after the first, and the append-only mode on the target repo means a compromised Jellyfin host cannot delete history remotely.

Where it falls short: the Windows path is unofficial and rough. Restoring a single file from a huge archive is slower than the same operation on Kopia or Restic.

Pricing:

Platforms: macOS, Linux, BSD. Cygwin build for Windows.

Download: Borg releases or GitHub source

Bottom line: the choice for a homelab with a second Linux server sitting on the same LAN or at a friend’s house.

4. Duplicati, best for scheduled cloud backups with a web UI

Duplicati is the most-installed backup tool on TrueNAS SCALE for a reason. The web UI schedules backups to Backblaze B2, Wasabi, OneDrive, Google Drive, and a long list of others, encrypts locally with AES-256, and mails a summary report when the job finishes. New releases in 2026 finally shipped a stable database format that survives long backup histories without corrupting.

Where it falls short: the older code was famously fragile around repository corruption. The current release fixed most of it, but restore tests are non-negotiable here.

Pricing:

Platforms: Windows, macOS, Linux, Docker.

Download: Duplicati downloads or GitHub source

Bottom line: good for someone who wants scheduled cloud backups without touching a terminal, provided they run monthly restore drills.

5. Snapraid, best for parity redundancy on large media pools

Snapraid does not back up. It computes parity across up to six data drives so a single drive failure is recoverable without RAID’s rebuild-window risk. For a Jellyfin server with cold-ish media that changes weekly rather than hourly, Snapraid is far cheaper than mirrored storage and does not need matching drive sizes.

Where it falls short: parity is only as fresh as the last sync run. If a drive dies before the nightly cron, files added that day are gone.

Pricing:

Platforms: Windows, Linux, BSD.

Download: Snapraid downloads or GitHub source

Bottom line: the media-drive complement to any real backup tool above. Pair it with Kopia or Restic for the Jellyfin config, and use Snapraid only for the media pool.

6. rclone, best for fast one-way copies to cloud buckets

rclone is the swiss-army knife for moving files between local disks and 50+ cloud back-ends. For Jellyfin protection, its bisync and sync modes plus rclone crypt make it a reasonable backup layer on top of the metadata, and a common way to push a compressed weekly Jellyfin config archive to a cold storage bucket for a few dollars a month.

Where it falls short: rclone is copy-based, not snapshot-based. It does not keep historical versions unless you script rotation, and dedup only happens if the remote supports it natively.

Pricing:

Platforms: Windows, macOS, Linux, FreeBSD.

Download: rclone downloads or GitHub source

Bottom line: best used alongside a real backup tool for offsite copies, not as the only backup layer.

7. Syncthing, best for continuous file-level replication

Syncthing replicates folders between two or more machines in near real time, encrypted in transit, no cloud middleman. For a Jellyfin server, a second machine (an old NUC in a closet, a friend’s Pi) mirrors the config directory continuously so a drive failure never costs more than the last minute of activity.

Where it falls short: it replicates whatever state the source has, so accidental deletions propagate. Pair it with a snapshot tool that keeps versions on the receiving end.

Pricing:

Platforms: Windows, macOS, Linux, FreeBSD.

Download: Syncthing downloads or GitHub source

Bottom line: the continuous-replication layer that makes hourly backups feel unnecessary for the config directory. Do not use it alone for point-in-time recovery.

8. Sanoid, best for ZFS snapshot management

Sanoid and its companion Syncoid manage ZFS snapshot policies (hourly, daily, monthly, yearly), prune the old ones, and replicate datasets over SSH to a second pool. For a Jellyfin server on TrueNAS or a Proxmox ZFS root, Sanoid gives instant local point-in-time restores that cost near zero disk space, and Syncoid keeps a warm offsite copy in sync.

Where it falls short: the entire system requires ZFS. Fine on Linux and FreeBSD, awkward on macOS unless you run OpenZFS, unavailable on plain Windows.

Pricing:

Platforms: Linux, FreeBSD, macOS with OpenZFS.

Download: GitHub source

Bottom line: the fastest local recovery in the list if the server already runs ZFS, and near-zero storage cost.

How to pick the right one

The XDA piece got the framing right: no single tool is protection, a stack of two or three is.

FAQ

What is the fastest way to protect a Jellyfin server?

Install Kopia, point it at the Jellyfin config directory and one media folder, and set a Backblaze B2 target. That single step covers metadata, watch history, and one media root for a few dollars a month.

Do I need to back up the actual movie files?

Not if they are re-downloadable. Metadata, custom posters, playlists, users, and watch history are what hurt to lose. Media parity via Snapraid is often enough for the files themselves.

Can Kopia and Restic back up to the same bucket?

Yes, use separate paths. The two tools produce incompatible repository formats, so they need their own directories inside the same bucket to avoid stepping on each other.

Is Syncthing a backup?

No. It replicates whatever the source has, including deletions and mistakes. Treat it as high-availability replication and pair it with a snapshot tool.

How often should I test a restore?

Once a month is the industry line and it matches what actual homelab operators say on the Jellyfin subreddit. A backup that has never been restored is not a backup, it is a hope.

What about ransomware on the Jellyfin server?

Use Borg’s append-only mode or S3 object lock on the destination. Any backup that the server can also delete is a backup ransomware can also delete.