How to Run Multiple Plex Servers -- Multi-Server Setup Guide
Most Plex users run a single server. But there are legitimate reasons to run more than one: a home server and an offsite server for redundancy, separate servers for different content types, servers at different physical locations for family members, or a dedicated server for testing and development. Plex supports multiple servers on the same account, and you can also use separate accounts if complete isolation is needed.
This guide covers the practical aspects of running multiple Plex servers: why you might want to, how to configure them, how clients switch between servers, and how to handle the inevitable complications.
Why Run Multiple Servers
Geographic Distribution
If you have family in another city or country, a local server at their location provides a dramatically better experience than streaming remotely. Local playback means no transcoding for bandwidth reduction, no buffering from internet congestion, and no upload speed limitations. You can sync content between servers manually or use tools to automate the process.
Content Separation
Some users prefer a dedicated server for each content type: one for movies and TV, one for music, one for photos. This keeps each server's database smaller and focused. It also allows different hardware allocations -- a powerful machine for video transcoding and a lightweight NAS for music and photos.
Redundancy
Running a second server as a backup means you always have access to your media even if the primary server goes down. This is especially valuable for users who depend on Plex daily or share with many users who expect reliability. The backup server can be at the same location (protecting against hardware failure) or offsite (protecting against disasters).
Testing
If you experiment with Plex settings, plugins, or beta versions, a separate test server lets you try things without risking your production setup. You can run the test server in a Docker container or virtual machine alongside your main server.
Same Account vs. Separate Accounts
You have two approaches for managing multiple servers, and the choice affects how users access them.
Same Plex Account (Recommended)
Claiming multiple servers with the same Plex account is the simplest approach. All servers appear in the server selector dropdown in every Plex client app. Users can switch between servers with a single tap or click. Shared users who you have invited from your account can be given access to any or all of your servers independently.
Benefits of the same-account approach:
- One Plex Pass covers all servers (if you have a lifetime or annual pass)
- Shared users see all servers they have been granted access to in one place
- Server switching is seamless in Plex apps
- A single plex.tv account to manage
Separate Plex Accounts
Using different Plex accounts for different servers provides complete isolation. Each server has its own admin, its own sharing lists, and its own settings. This is useful when different people are responsible for different servers, or when you want to keep servers entirely independent.
The downsides are significant: users need to switch Plex accounts to access different servers (not just switch servers within the app), each account may need its own Plex Pass, and there is no unified server list. For most multi-server setups, staying on a single account is simpler.
Port Configuration
If you run multiple Plex servers on the same machine or the same local network, you need to handle port conflicts. By default, every Plex server uses port 32400 for its web interface and API.
Multiple Servers on One Machine
If you are running two Plex instances on the same physical or virtual machine (common with Docker), each instance needs a unique port. Change the port in Plex settings under Settings, Network, "Custom server access URLs" or by modifying the Preferences.xml file before starting the second instance.
For Docker, map different host ports to the container's internal port 32400:
# Server 1
docker run -p 32400:32400 plexinc/pms-docker
# Server 2
docker run -p 32401:32400 plexinc/pms-docker
Multiple Servers on the Same Network
If each server is on a separate machine within the same network, they can each use port 32400 internally since they have different IP addresses. However, for remote access, you need to configure port forwarding on your router for each server using different external ports:
- Server 1 (192.168.1.100): External port 32400 forwards to internal port 32400
- Server 2 (192.168.1.101): External port 32401 forwards to internal port 32400
Then configure each server's "Manually Specify Public Port" setting (under Settings, Network) to match the external port assigned to it. This tells Plex's relay service which port to advertise for remote connections.
Library Splitting Strategies
How you divide content across servers depends on your goals. Here are common approaches:
By Content Type
- Server A: Movies and TV shows (needs powerful CPU for transcoding)
- Server B: Music, photos, and audiobooks (lightweight, can run on a NAS)
This makes hardware allocation efficient. Video transcoding demands far more CPU than music streaming or photo browsing.
By Location
- Home Server: Full library, primary server
- Remote Server: Curated subset of content for family at another location
The remote server gets a copy of the most-watched content rather than the entire library. This reduces storage requirements at the remote location.
By Access Level
- Family Server: Family-friendly content with parental controls
- Personal Server: Full library without restrictions
While Plex has built-in parental controls through managed users, some parents prefer the certainty of a separate server where restricted content simply does not exist.
Client Switching Between Servers
Plex client apps handle multi-server environments well when all servers are on the same account. In the Plex app, look for the server name in the sidebar or settings. Tapping it reveals a dropdown or list of all available servers. Select a different server to switch to it. The switch is immediate -- libraries, home screen, and all content reflect the selected server.
Some important behaviors to understand:
- Watch history is per-server. Watching a movie on Server A does not mark it as watched on Server B. There is no built-in cross-server sync for watch status.
- Playlists are per-server. Playlists created on one server are not visible on another.
- Search is per-server. Searching only returns results from the currently selected server.
- Home screen can aggregate. Plex's home screen can show "Continue Watching" and "Recently Added" rows from multiple servers simultaneously, even though library browsing is per-server.
Syncing Content Between Servers
Plex does not offer built-in server-to-server content synchronization. If you want the same media available on multiple servers, you need to handle the file copying yourself. Several approaches work:
- rsync (Linux/macOS): The standard tool for one-way or two-way file synchronization over SSH. Schedule it with cron to run nightly.
- Syncthing: A decentralized file synchronization tool that keeps folders in sync across multiple machines in real time. It works across platforms and handles conflicts.
- Rclone: Supports syncing to and from cloud storage, remote servers, and many other backends. Useful when servers are in different locations connected over the internet.
- Network attached storage: If both servers are on the same network, they can point to the same NAS for media files. Each server has its own database and metadata, but they share the underlying media storage.
After syncing files, each server needs to scan its library to pick up the new content. You can trigger scans automatically using Plex webhooks or the Plex API.
Syncing Watch History
Cross-server watch history synchronization requires a third-party tool. Trakt is the most common solution. Install the Trakt plugin or use Tautulli's Trakt integration on each server. When you watch something on any server, the watch status is reported to Trakt. Other servers can then pull that status from Trakt and mark the item as watched locally.
This is not instant synchronization -- there is usually a delay of minutes to hours depending on how you configure the sync interval. But it ensures that your watch history stays roughly consistent across servers without manual effort.
Resource Considerations
Running multiple servers means multiplying resource usage. Each Plex instance maintains its own database, metadata cache, and transcode process. On a single machine:
- RAM: Each Plex instance uses 200 MB to 1 GB or more depending on library size. Two instances means roughly double the RAM usage.
- CPU: Idle instances use negligible CPU. Transcoding uses as much CPU as you give it regardless of how many instances are running.
- Disk: Each instance has its own metadata and thumbnail cache. A large library can have 20 GB or more of metadata per instance.
- Network: Each instance registers independently with plex.tv and maintains its own remote access tunnel.
If resources are tight, run the secondary server in a Docker container with CPU and memory limits applied. This ensures the primary server always has priority access to hardware resources.
Phlix -- The Photo Browser for Plex
Running multiple Plex servers with photo libraries? Phlix lets you switch between servers and browse photos with a dedicated chronological timeline, offline downloads, and 4K AirPlay slideshows. Free to browse, Pro from $6.99/yr.
Download Phlix FreeiOS 17+ · Works with any Plex Media Server