What Plex Media Server needs
Plex publishes an official Linux build for Ubuntu 16.04, Debian 8, CentOS 7, Fedora 27 and SUSE 15, each or newer. Its minimum CPU recommendation is an Intel Core i3 or equivalent, and it says 4 GB of RAM is typically more than sufficient. The CPU figure only holds while clients play files as they are. Once a stream has to be converted, Plex's own sizing guide takes over.
| Source file (one full transcode) | Output | PassMark score Plex suggests |
|---|---|---|
| 4K HDR, 50 Mbps, 10-bit HEVC | 1080p at 10 Mbps | 17,000 |
| 4K SDR, 40 Mbps, 8-bit HEVC | 1080p at 10 Mbps | 12,000 |
| 1080p, 10 Mbps, H.264 | lower bitrate | 2,000 |
| 720p, 4 Mbps, H.264 | lower bitrate | 1,500 |
Plex multiplies the figure by the number of simultaneous transcodes: four 1080p streams need roughly 8,000. It calls the table a rough guide, not a measurement, and stresses single-thread speed as well as the total score. Remote clients transcode often, because their connection rarely carries the original bitrate, and burned-in subtitles force a transcode too.
Disk is the other budget. Plex's Docker README puts the metadata database at a few GB, rising into the hundreds of GB for large libraries with generated index files, and transcoder temp files in the tens of GB. Keep both on SSD, on a filesystem that supports file locking; Plex's Docker README warns that network shares such as NFS or SMB can corrupt the database.
Plex Pass on a hosted server
Since 29 April 2025, video streamed from a Plex Media Server to a player that is not on the same local subnet is remote playback, and on the affected apps (web, mobile, Windows, Mac, Linux, Roku, smart TVs, consoles) it needs one of three things: a Plex Pass on the server's admin account, which covers every user of that server; a Plex Pass on the viewer's account; or a Remote Watch Pass on the viewer's account. A server in a rack is never on your home subnet, so every video stream from it is remote. Music to Plexamp and photos are exempt.
Hardware-accelerated streaming is also a Plex Pass feature, as are the remote upload-speed and per-stream bitrate limits in the Remote Access settings. Plan on a Plex Pass on the admin account. If the point of moving off a home box is to avoid a subscription, Plex is the wrong engine; our Jellyfin server page covers the open-source alternative.
Plex licenses the server for personal use and writes that it expects Plex Media Server to run from home; it warns that on a virtual or dedicated system at a hosting company, Plex may not work with all providers. Read that before you commit to a term.
Quick Sync, NVIDIA and why not a VM
With hardware acceleration on, Plex uses Intel Quick Sync (through VAAPI on Linux) or an NVIDIA card's NVENC and NVDEC engines, and falls back to software if the hardware fails. Plex's requirements: a Plex Pass, 64-bit Ubuntu 16.04+ or Fedora 26+ for official Linux support, a Quick Sync CPU from Sandy Bridge on (Broadwell or newer recommended), and NVIDIA driver 450.66 or newer. Plex states it is not possible inside a virtual machine, because virtual machine hosts do not expose low-level video hardware to the guest.
- Quick Sync on our lines: the Intel processors with on-chip graphics are the Xeon E3-1284L v3, E3-1284L v4, E3-1585L v5, Xeon E-2286M and Core i5-9500, each listed with Intel's specification on the Intel processor page. No Xeon E5, Xeon D, Atom or Xeon Scalable part has Quick Sync. The E3-1284L v3 is a generation older than the Broadwell Plex recommends.
- NVIDIA: the desktop line pairs a Core i5-9500 with an NVIDIA GeForce RTX 3050 6GB, and other cards from the GPU catalogue go into larger machines. Plex notes that GeForce cards can cap concurrent hardware encodes, a limit set by NVIDIA's driver.
- HEVC output is optional and heavier: Plex needs 1.41.3 or later and lists a 7th-generation Core i3/i5/i7 for it. H.264 output is the default.
Picking the machine
The dedicated server range splits along the line that matters here. The Quick Sync parts sit in Moonshot cartridges and the desktop line, with modest storage and 500 Mbps or 1 Gbps ports. Large disk sets live in the rack lines, whose processors carry no Quick Sync, so a big library there either plays direct, transcodes on the CPU against Plex's PassMark table, or takes an NVIDIA card.
| Library and viewers | Shape that fits |
|---|---|
| Small library, a few viewers | Quick Sync single-socket machine; media on its SSD or NVMe |
| NVIDIA transcoding on a budget | Core i5-9500 with RTX 3050, Bucharest |
| Many terabytes | Rack server built with up to 24 drive bays, RAID 0/1/5/6/10 or JBOD, plus a card if transcoding |
| Mostly Direct Play clients | Any line with enough disk; the CPU idles |
Every port is unmetered, so streams to remote viewers add no transfer charge. A racked machine is handed over in about 30 minutes once payment is approved; a configuration with extra drives or a graphics card is built to order in 4 to 24 hours from the custom build page. You get root, and rack servers have an out-of-band console (iLO, iDRAC or a Supermicro BMC).
Headless setup on Ubuntu
Plex has no local window on Linux: first-run setup happens in the web app. Plex's installation guide uses an SSH tunnel so your browser reaches the new server as if it were on the same network. Keep 32400 closed until the server is claimed by your Plex account, then open it.
- Allow SSH and switch the firewall on before installing anything (first code block). The installer line is Plex's own repository script; its support article also gives the manual apt steps if you prefer to read before running.
- Give the
plexuser, which the service runs as, read and execute permission on your media directories. - From your own computer, open the tunnel in the second block, using the login you normally use for SSH, and browse to
http://127.0.0.1:8888/web. Sign in, name the server and add libraries; Plex needs this tunnel only for the initial setup. - Allow
32400/tcpand nothing else (third block). In Settings > Server > Remote Access, if automatic mapping fails, tick Manually specify public port and enter 32400. - With a Plex Pass, enable Settings > Server > Transcoder > Use hardware acceleration when available. During a forced 480p conversion the dashboard should show (hw) beside the video format.
sudo ufw allow OpenSSH
sudo ufw enable
curl -LsSf https://repo.plex.tv/scripts/setupRepo.sh | sudo bash
ssh -L 8888:127.0.0.1:32400 youruser@your.server.ip
sudo ufw allow 32400/tcp
Plex's firewall article strongly recommends that a server with a public IP, including one in a data center, expose none of its discovery and DLNA ports (UDP 1900, 5353, 32410 and 32412-32414; TCP 8324 and 32469). If you run the official plexinc/pms-docker image instead, use its host-networking mode: bridge mode's -p mappings publish those ports on every interface and Docker's rules bypass ufw.
Keeping it healthy
- Updates: the repository installs keep Plex current through apt; Plex Pass beta builds do not come through it.
- Back up the data directory,
/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/on Ubuntu and Debian. Metadata, watch state and settings live there, not with the media. Plex suggests archiving it with tar, says the Cache folder can be left out, and warns never to store the archive inside that folder. - Watch the transcoder: if remote viewers buffer, the dashboard shows whether streams are transcoding and whether (hw) is in use; a remote stream bitrate limit (Plex Pass) caps what each viewer pulls, at the price of more transcoding.
Your library, your rights
This page is about streaming a library you hold the rights to: your own films and shows, home video, music and photos. What you upload and share from the server is your responsibility, including copyright in every file and every account you invite.
Questions
How much RAM does Plex Media Server need?
Plex says 4 GB is typically more than sufficient, and that some Linux installs can run on less. RAM is not where a Plex server runs short. Size memory for anything else on the machine, and spend the budget on CPU or GPU for transcoding and on disk for the library.
Do I need Plex Pass for a dedicated Plex server?
In practice, yes. Since 29 April 2025, remote video playback on Plex's updated apps needs a Plex Pass on the admin account or a Plex Pass or Remote Watch Pass on each viewer's account, and a hosted server is always remote. Hardware-accelerated transcoding is a Plex Pass feature too.
Can I run Plex in Docker on the server?
Yes, with Plex's official plexinc/pms-docker image. Its README calls host networking one of the two easier modes; for Quick Sync, add --device=/dev/dri:/dev/dri. Avoid bridge mode on a public IP, because its -p mappings bypass ufw and publish ports Plex says to keep closed. For a headless first run, pass -e PLEX_CLAIM= set to a claim token from plex.tv/claim; the token is short-lived, so fetch it just before starting the container. Without it, claim the server through the SSH tunnel described above.
How many streams can one server transcode?
Plex's guide is per stream: about 2,000 PassMark for each 1080p H.264 transcode and 17,000 for a 4K HDR one, multiplied by how many run at once. Hardware acceleration lifts that ceiling a long way. Streams that Direct Play cost almost no CPU at all.
Is Plex allowed at a hosting company?
Plex licenses the server for personal use, says it expects it to run from home, and warns that at an online hosting company Plex may not work with all providers. Read Plex's terms for your own use, and test the server against your devices before you commit to a longer term.