How to Set Up Plex on Raspberry Pi — Budget Server Guide
A Raspberry Pi is one of the cheapest ways to run a Plex Media Server. For under $100 in total hardware costs, you can have a silent, low-power server that streams your movies, music, and photos to devices on your home network. But there are real limitations you need to understand before committing. This guide covers which Pi models work, how to install Plex, what you can and cannot do, and how to optimize performance.
Which Raspberry Pi Should You Use?
Raspberry Pi 5 (Recommended)
The Raspberry Pi 5, released in late 2023, is the first Pi that handles Plex reasonably well. It features a Broadcom BCM2712 quad-core Cortex-A76 CPU clocked at 2.4 GHz, which is a significant upgrade over the Pi 4. It comes in 4 GB and 8 GB RAM configurations. The 8 GB model is recommended for Plex.
The Pi 5 also adds a PCIe 2.0 interface, enabling NVMe SSD storage through an adapter board. This is a game-changer for Plex because it eliminates the I/O bottleneck of USB-attached storage and MicroSD cards.
Price: Approximately $60 (4 GB) or $80 (8 GB), plus case, power supply, and storage.
Raspberry Pi 4 Model B (Budget Option)
The Pi 4 has a Broadcom BCM2711 quad-core Cortex-A72 CPU at 1.8 GHz. It is available in 2 GB, 4 GB, and 8 GB configurations. The 4 GB or 8 GB models are suitable for Plex.
The Pi 4 is slower than the Pi 5 and lacks the PCIe interface, but it is cheaper and widely available. It handles Direct Play streaming for one or two simultaneous users adequately.
Price: Approximately $35-55 depending on RAM configuration.
Older Models (Not Recommended)
The Raspberry Pi 3 and earlier models have insufficient CPU power and RAM for Plex. They struggle with even basic library scanning and metadata downloads. Do not attempt to run Plex on anything older than a Pi 4.
What You Need
Here is a complete shopping list for a Raspberry Pi Plex server:
- Raspberry Pi 5 (8 GB) — approximately $80
- Official Pi 5 power supply (27W USB-C) — approximately $12. Do not skimp on the power supply. An underpowered supply causes throttling and instability under load.
- MicroSD card (32 GB+) or NVMe SSD with adapter — $10-40. An NVMe SSD is strongly recommended for Plex metadata and the operating system.
- External USB hard drive — for media storage. A 4 TB USB 3.0 drive costs around $80-100.
- Case with active cooling — approximately $10-15. The Pi 5 runs warm under load. A case with a fan prevents thermal throttling.
- Ethernet cable — wired networking is essential for reliable streaming.
Total cost: Approximately $90-150 depending on your storage choices, not counting the external hard drive you may already own.
Step 1 — Install the Operating System
Download the Raspberry Pi Imager from raspberrypi.com on your computer. Insert your MicroSD card (or NVMe SSD via a USB adapter) and use the Imager to write Raspberry Pi OS (64-bit, Lite edition). The Lite edition is recommended because it does not include a desktop environment, saving RAM and CPU for Plex.
Before writing, click the gear icon in the Imager to configure:
- Set a hostname (e.g.,
plexpi). - Enable SSH (so you can manage the Pi remotely without a monitor).
- Set a username and password.
- Configure Wi-Fi if you are not using Ethernet (but Ethernet is strongly recommended).
Write the image, insert the card into your Pi, connect Ethernet and power, and wait a minute for it to boot. Then SSH into it from your computer:
ssh username@plexpi.local
Step 2 — Install Plex Media Server
Plex provides official ARM64 packages for Raspberry Pi. Update your system and install Plex:
sudo apt update && sudo apt upgrade -y
# Add the Plex repository
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/plex.gpg
# Install Plex
sudo apt update
sudo apt install plexmediaserver -y
Plex will install and start automatically as a system service. Verify it is running:
sudo systemctl status plexmediaserver
Access the setup wizard by navigating to http://plexpi.local:32400/web in a browser on your computer. Sign in with your Plex account to claim the server.
Step 3 — Mount Your External Drive
Plug your external USB drive into one of the Pi's USB 3.0 ports (the blue ports). Identify the drive:
sudo fdisk -l
Look for your external drive (usually /dev/sda1). Create a mount point and mount it:
sudo mkdir -p /mnt/media
sudo mount /dev/sda1 /mnt/media
To mount automatically on boot, add an entry to /etc/fstab. First, find the drive's UUID:
sudo blkid /dev/sda1
Then add a line to /etc/fstab:
UUID=your-uuid-here /mnt/media auto defaults,nofail 0 2
The nofail option ensures the Pi still boots if the drive is not connected. Set permissions so Plex can read the drive:
sudo chown -R plex:plex /mnt/media
Step 4 — Add Libraries
In the Plex web interface, add libraries pointing to folders on your mounted external drive (e.g., /mnt/media/movies, /mnt/media/photos). Plex will begin scanning and downloading metadata.
The initial scan is the most CPU-intensive operation you will run on the Pi. For large libraries, expect this to take several hours. Let it run without interruption — scanning in the background while trying to stream will result in poor performance on both tasks.
Understanding the Limitations
No Transcoding
This is the biggest limitation. The Raspberry Pi's ARM CPU cannot transcode video in real time. There is no hardware transcoding support (no Intel Quick Sync, no NVIDIA GPU). Even a single 1080p software transcode will overwhelm the CPU and result in unwatchable buffering.
This means every client must Direct Play your media. In practice, this works well if:
- Your media is in H.264 (AVC) format, which nearly every modern device supports natively.
- Your clients are capable devices like Apple TV 4K, modern smart TVs, or phones and tablets from the last few years.
- You do not use image-based subtitles (PGS, VOBSUB), which force transcoding. Use text-based SRT subtitles instead.
If any of your clients regularly require transcoding, a Raspberry Pi is not the right choice. Consider a mini PC with an Intel CPU instead (see our hardware requirements guide).
Limited Simultaneous Streams
Even with Direct Play, the Pi 5 can comfortably handle two to three simultaneous streams. The bottleneck is not CPU (since Direct Play requires minimal processing) but rather USB bandwidth for the external drive and network I/O. A fourth or fifth simultaneous stream may cause buffering.
Slow Library Scanning
Adding large amounts of new media triggers a library scan that is noticeably slower on a Pi than on a desktop computer or NAS. Thumbnail generation for photo libraries is particularly slow. Budget extra time after adding new content.
Optimization Tips
Use an NVMe SSD for the OS and Plex Data
An NVMe SSD connected via the Pi 5's PCIe interface (using a HAT or adapter board) dramatically improves Plex responsiveness. Boot the OS from the SSD and store the Plex application data (metadata, thumbnails, database) on it. Keep your media files on the external USB drive. This separates metadata I/O from media I/O and eliminates MicroSD card bottlenecks.
Enable Active Cooling
Under sustained load (library scanning, multiple simultaneous streams), the Pi 5 can reach temperatures that trigger thermal throttling. A case with an active fan keeps the CPU at full speed. The official Raspberry Pi Active Cooler or any case with a 5V fan works well.
Use Ethernet
The Pi 5 has a true gigabit Ethernet port. Use it. Wi-Fi adds latency, variability, and bandwidth limitations that are especially noticeable with high-bitrate 4K content.
Optimize Your Media for Direct Play
Since you cannot transcode, optimize your media library for maximum compatibility:
- Use H.264 (AVC) codec in MKV or MP4 containers.
- Use AAC or AC3 audio (avoid DTS and TrueHD unless your clients definitely support them).
- Use SRT subtitles instead of PGS or VOBSUB.
- Keep 4K files only if your clients can Direct Play them — the Pi cannot downscale 4K to 1080p.
Set Client Quality to Maximum/Original
On every Plex client that connects to your Pi server, set streaming quality to "Original" or "Maximum." Any quality setting lower than original forces Plex to transcode, which the Pi cannot handle.
Is a Raspberry Pi Right for You?
A Raspberry Pi Plex server is ideal if you want the cheapest possible always-on server, your media is in Direct Play-friendly formats, you have one or two simultaneous viewers, and you value low power consumption (the Pi 5 draws about 5-10 watts under load).
It is not ideal if you need transcoding for any reason, you share your server with many remote users (who may have limited bandwidth and trigger transcoding), or you have a very large library (100,000+ items) that needs frequent scanning.
For many solo users or small families with compatible clients and well-organized media, a Raspberry Pi is a surprisingly capable and cost-effective Plex server.
Phlix — The Photo Browser for Plex
If you use Plex for photos, Phlix gives you a chronological timeline, year scrubber, 4K AirPlay slideshows, and offline downloads. Free to browse, Pro from $6.99/yr.
Download Phlix FreeiOS 17+ · Works with any Plex Media Server