Upgrading your Plex server hardware shouldn’t mean starting over. Your watch history, collections, playlists, poster selections, user accounts, and every manual metadata fix you’ve made over the years — all of that lives in the Plex database and can be moved to new hardware. Here’s how to do it without losing anything.

What Transfers and What Doesn’t

Before you start, know exactly what you’re moving:

Pre-Migration Checklist

  1. Check Plex versions. Install the same version (or newer) on the new server. Going backward in versions can cause database incompatibility
  2. Note your library paths. Open Plex Web → Settings → Libraries and screenshot or write down every library’s folder paths. If paths will differ on the new server, you’ll need to update them after migration
  3. Check disk space. The Plex data directory can be 10–100+ GB depending on metadata and poster caches. Make sure the new server has enough room
  4. Back up first. Even though migration is the goal, make a separate backup copy of your database files in case something goes wrong

Same OS Migration (Easiest)

Moving between the same operating system (Windows to Windows, Linux to Linux) is the simplest path:

  1. Stop Plex Media Server on the old machine
  2. Copy the entire Plex data directory to the new machine. On Windows: %LOCALAPPDATA%\Plex Media Server. On Linux: /var/lib/plexmediaserver/Library/Application Support/Plex Media Server
  3. Install Plex Media Server on the new machine (don’t run it yet, or run it once and then stop it)
  4. Replace the new machine’s data directory with the one you copied
  5. If library paths changed, start Plex and go to Settings → Libraries → Edit each library to point to the new paths
  6. If the server IP changed, reclaim via plex.tv/claim

Cross-OS Migration (Windows ↔ Linux ↔ Mac)

Plex’s SQLite database is cross-platform. The process is the same as above, but with two extra considerations:

Docker Migration

If you’re running Plex in Docker, your data directory is wherever you mapped the /config volume. Migration is straightforward:

  1. Stop the Plex container on the old host
  2. Copy the entire config volume directory to the new host
  3. Update your docker-compose.yml on the new host with the correct volume paths and any hardware transcoding device mappings
  4. Start the container. If the claim token expired, set the PLEX_CLAIM environment variable with a fresh token from plex.tv/claim

Migrating Media Files

The media files themselves (movies, TV shows, music) need to be accessible to the new server. Options:

Post-Migration Verification

  1. Libraries: Check that all libraries show the correct item count. If anything is missing, verify the paths
  2. Watch history: Pick a random user and verify their watched/unwatched status is correct
  3. Collections and playlists: Open a few and confirm they’re intact
  4. Remote access: Go to Settings → Remote Access and verify it’s reachable. You may need to update port forwarding on your router if the server IP changed
  5. Hardware transcoding: Play a file that requires transcoding and verify it’s using hardware acceleration on the new hardware
  6. Scheduled tasks: Check Settings → Scheduled Tasks to confirm your maintenance window and scan schedules carried over

Common Migration Problems