Update: Now on Cloudron 10.1.5.
The fresh rsync target fixed Nextcloud, but Jellyfin kept failing the integrity check with the same error. I've now tracked that down too, and it isn't just a migration problem.
The new target was created on 24 September, well after the migration. Comparing a full file listing of Jellyfin's live data with its latest rsync backup:
- 1,017 files exist only in the backup (about 18% of the 5,698 files in it)
- 0 files exist only on the server
So nothing is missing, but the backup is full of stale leftovers. All of them are folder.jpg images from data/jellyfin/data/metadata/People/<name>/ folders that no longer exist on the server. Those will mostly be from me correcting metadata Jellyfin had matched wrongly and removing the bad entries, i.e. ordinary use of the app. Before that, there was also a stale plugins/LDAP Authentication/ folder, last modified in the snapshot on 5 October, which no longer exists on the server (only LDAP Authentication_23.0.0.0 and _24.0.0.0 do).
Oddly, it isn't every deletion. Yesterday I deleted Jellyfin's whole metadata/artists folder (about 42,000 files) and removed the Music library in Jellyfin, which deleted most of metadata/library. Those deletions were correctly reflected in the backup. But these People folders and the LDAP folder were never removed from the snapshot. They get carried into every new backup via the hardlink copy, and since they aren't in the backup's manifest, the integrity checker crashes on them. The backup task itself reports no errors.
This matches what I saw on the old target, where an old plugin folder (plugins/SSO Authentication_4.0.0.4) and thousands of old People and artist images were also left behind. So the migration explained Nextcloud, but this looks like a separate, ongoing bug.
Confirmed: after deleting the stale LDAP folder and the 1,017 stale files from the snapshot, the next Jellyfin backup passed the integrity check for the first time.
So two separate issues:
- Folders deleted from an app's data are sometimes never removed from the rsync snapshot, so they linger in every backup.
- The integrity checker crashes on files that aren't in the manifest ("Cannot read properties of undefined (reading 'size')") rather than listing them, which made this much harder to diagnose.