Rebuild Jellyfin after a network move by restoring the local service path first, then validating storage mounts, identity, DNS, and remote access as separate gates.
A new router, subnet, VLAN, or DNS domain can make a healthy Jellyfin database look broken because clients, mounts, and reverse proxies no longer share the same path. Keep the old network notes and a copy of the application data. The target is a known path from client to service to media, with a clear stop boundary when the network itself—not Jellyfin—is the failing layer.
Record the old path before changing anything
Write down the server address, hostname, subnet, gateway, DNS name, mounted media paths, reverse-proxy destination, certificate name, and any firewall or port-forward rule. Separate local streaming from remote streaming. If the old host is still available, export the Jellyfin configuration and list the users and libraries before assigning new addresses.
This creates the baseline for the rebuild: a user reaches the service, the service reaches its database and media, and backups reach their destination. Do not start with a public port or a new proxy rule.
Restore the local service on a stable address
Give the server a DHCP reservation or static address, then confirm that the Jellyfin web interface opens from the same LAN. Check the service bind address and host firewall, and test a local client before changing DNS. If the app starts but libraries are empty, stop and inspect the storage path rather than rebuilding the database.
Jellyfin’s migration guidance emphasizes that internal data is path-sensitive and that container paths must match the recorded media locations (path-sensitive migration guidance). Treat a path mismatch as a topology failure, not a metadata failure.
Reconnect mounts and permissions before DNS
Mount the media and backup volumes at stable paths, then test read access as the Jellyfin service account. Verify one file per library and one write to the application-data directory. Keep cache and downloaded artwork on rebuildable storage, while user media, the database, and backups stay on protected roles.
The exit is PASS when a restart recreates the mounts before Jellyfin starts and a library scan does not produce missing-file warnings. If the mount depends on an interactive login, fix the boot order before continuing.
Rebuild identity, DNS, and remote access in that order
After local playback works, restore the hostname and internal DNS record. Test a client using the name, not the IP, then validate the reverse proxy or VPN from outside the home. Keep authentication and authorization separate from routing: a login failure is not evidence that the new port-forward is wrong.
Run one direct play and one transcode from the real client mix. Record the observed endpoint, playback mode, and failure point. A community migration case is useful for comparing path and network assumptions, but do not generalize its hardware or router settings (migration case study).
Keep rollback and expansion explicit
Keep the old DNS record, configuration backup, and previous network notes until local playback, user access, remote routing, and restore have all passed. Expand only by adding a dedicated path—such as a separate VLAN for management or a second network interface—when the shared path degrades. Stop the rebuild if the server cannot obtain a stable address, persistent mounts, or a tested recovery route; no amount of client reconfiguration fixes those missing foundations.
NAS & Server Setup
More to Read

Can a Dorm Server Run Quietly Enough for Sleep, Study, and Video Calls?
Yes—a dorm server can stay unobtrusive when hardware is low-power, storage vibration is controlled, heavy jobs are scheduled, and noise is tested in the...

A Student Homelab That Can Move From Dorm Room to First Apartment
Keep a student homelab portable by separating services from room-specific networking, minimizing hardware, backing up state, and rehearsing a clean move.

How to Share One Home Server With Roommates Without Sharing Accounts or Private Files
Give every roommate a named identity, private storage, and only the shared roles they need; keep administration, backups, and offboarding separate.



