
A Raspberry Pi 5 can make an excellent low-power Plex Media Server for a home media library, particularly when your clients can Direct Play the video instead of requiring the Raspberry Pi to transcode it.
In this guide, we’ll show you how to install Plex Media Server on Raspberry Pi OS 64-bit, configure your media libraries, give Plex access to your storage, and optimize the Pi for reliable 24/7 operation.
Important: Plex’s official Linux support includes Debian-based systems, and current Plex packages are available for ARM architectures. For a Raspberry Pi 5, use a 64-bit Raspberry Pi OS installation and the ARM64 Plex package/repository. Plex also notes that CPU requirements vary substantially depending on how much transcoding your server must perform.
What You Need
Before installing Plex, you’ll need:
- Raspberry Pi 5 recommended
- Raspberry Pi OS 64-bit
- At least 4GB RAM recommended
- Ethernet connection preferred
- NVMe SSD or USB SSD recommended for the server
- Storage containing your movies, TV shows or music
- Plex account
- Active cooling for sustained workloads
A Raspberry Pi 4 can also be used for lighter Plex workloads, but the Raspberry Pi 5 is a much better choice for a new build.
Plex says that RAM requirements are generally modest, with 4GB typically sufficient for typical installations. CPU requirements, however, depend heavily on simultaneous users and transcoding requirements.
Raspberry Pi 5 Plex Server: What to Expect
The most important thing to understand is that Plex Direct Play and Plex transcoding are very different workloads.
With Direct Play:
Plex Client
│
│ Original video
▼
Raspberry Pi 5
│
│ No video conversion
▼
TV / Phone / Tablet
The Raspberry Pi primarily serves the existing file.
With transcoding:
Original video
│
▼
Raspberry Pi 5
│
├── Decode
├── Convert
├── Encode
▼
Smaller/different video
│
▼
Plex Client
This requires considerably more processing power.
Plex itself explains that the number of simultaneous streams and how often transcoding is required are major factors in determining the hardware you need.
For the best Raspberry Pi experience, aim for Direct Play whenever possible.
1. Install Raspberry Pi OS 64-bit
Start with a clean installation of Raspberry Pi OS 64-bit.
For a headless Plex server, Raspberry Pi OS Lite 64-bit is a good choice because you don’t need a desktop environment.
After connecting through SSH, update the system:
sudo apt update
sudo apt full-upgrade -y
Then reboot:
sudo reboot
Reconnect through SSH after the Raspberry Pi restarts.
2. Verify You’re Running 64-bit Raspberry Pi OS
Check the architecture:
uname -m
You should see:
aarch64
You can also check the operating system:
cat /etc/os-release
If uname -m returns aarch64, you’re running the ARM64 architecture required for the installation described in this guide.
You can also verify the Debian package architecture:
dpkg --print-architecture
It should return:
arm64
3. Install Required Packages
Install the tools needed to add the Plex repository:
sudo apt update
sudo apt install -y curl gnupg2
Plex’s current repository documentation uses its newer signing key and repository at repo.plex.tv. Plex changed its Linux repository starting with Plex Media Server 1.43.0, so older tutorials using the legacy repository should be avoided.
4. Add the Plex Repository
Create the APT keyring directory:
sudo mkdir -p /etc/apt/keyrings
Download the current Plex signing key:
curl -L https://downloads.plex.tv/plex-keys/PlexSign.v2.key | \
sudo gpg --yes --dearmor \
-o /etc/apt/keyrings/plexmediaserver.v2.gpg
Now add the Plex repository:
echo "deb [signed-by=/etc/apt/keyrings/plexmediaserver.v2.gpg] https://repo.plex.tv/deb/ public main" | \
sudo tee /etc/apt/sources.list.d/plex.list
Update APT:
sudo apt update
Plex’s official instructions currently use repo.plex.tv/deb/ and the PlexSign.v2.key signing key.
5. Install Plex Media Server
Install Plex:
sudo apt install -y plexmediaserver
The package creates the Plex service and normally starts the server automatically.
Check its status:
sudo systemctl status plexmediaserver
You should see something similar to:
Active: active (running)
If the service isn’t running, start it:
sudo systemctl start plexmediaserver
Enable it at boot:
sudo systemctl enable plexmediaserver
Plex documents plexmediaserver as the Linux service and recommends using systemd to start it on Linux.
6. Find Your Raspberry Pi IP Address
Run:
hostname -I
You’ll get something similar to:
192.168.1.50
You’ll use this address to access Plex from another computer.
7. Open the Plex Web Interface
Plex doesn’t have a traditional desktop server interface. You manage the server through the Plex Web App.
From another computer on your network, open:
http://192.168.1.50:32400/web
Replace 192.168.1.50 with your Raspberry Pi’s IP address.
You can also use:
http://raspberrypi.local:32400/web
if local hostname resolution is working.
Plex’s default web interface uses port 32400.
8. Sign In to Your Plex Account
The first time you access Plex, you’ll be asked to sign in.
If you don’t have an account, create one.
After signing in, Plex will launch the setup wizard.
The setup wizard allows you to configure your server and create your media libraries. Plex recommends signing the server into your Plex account to ensure functionality works correctly.
9. Give Plex Access to Your Media
This is one of the most important steps.
Plex runs under its own Linux user, normally:
plex
That means Plex needs permission to read your media directories.
Suppose your media is stored at:
/mnt/media
Check the permissions:
ls -la /mnt/media
You can test whether Plex can access the directory:
sudo -u plex ls /mnt/media
If Plex can see the directory contents, you’re ready.
If you receive:
Permission denied
you need to adjust the permissions.
10. Recommended Media Directory Structure
For a clean Plex library, organize your files into separate directories.
For example:
/mnt/media/
├── Movies/
├── TV Shows/
├── Music/
└── Home Videos/
A movie library might look like:
Movies/
├── Dune (2021)/
│ └── Dune (2021).mkv
├── Interstellar (2014)/
│ └── Interstellar (2014).mkv
└── The Matrix (1999)/
└── The Matrix (1999).mkv
TV shows:
TV Shows/
└── Example Show/
├── Season 01/
│ ├── Example Show - S01E01.mkv
│ └── Example Show - S01E02.mkv
└── Season 02/
└── Example Show - S02E01.mkv
Plex recommends organizing media carefully so its matching system can correctly identify movies and TV shows.
11. Add Your Movie Library
From Plex Web:
Settings → Manage → Libraries
Click:
Add Library
Choose:
Movies
Give the library a name:
Movies
Then select the directory:
/mnt/media/Movies
Click Add Library.
Plex will scan the directory and begin matching your movies.
12. Add Your TV Show Library
Create another library.
Select:
TV Shows
Use:
/mnt/media/TV Shows
Plex will scan the directory and identify your shows and episodes.
13. Add Music
You can also create a music library.
Select:
Music
and choose:
/mnt/media/Music
Plex can organize music into artists, albums and tracks.
14. Check Plex Storage
If you’re running Plex on a Raspberry Pi, I strongly recommend storing the Plex database and media on SSD storage rather than relying on a microSD card.
A good setup is:
Raspberry Pi 5
│
├── NVMe SSD
│ ├── Raspberry Pi OS
│ ├── Plex database
│ └── Docker/other services
│
└── Large USB/NAS storage
├── Movies
├── TV Shows
└── Music
For an NVMe-equipped Raspberry Pi 5, see our guide:
Best NVMe HATs for Raspberry Pi 5
An NVMe drive can be particularly useful because Plex’s database and metadata can involve many small files.
15. Use Ethernet Instead of Wi-Fi
For a dedicated Plex server, Ethernet is preferable.
A wired connection provides:
- Lower latency
- More consistent bandwidth
- Better reliability
- Less interference
- Better remote streaming performance
The Raspberry Pi 5’s Gigabit Ethernet interface makes it well suited to serving media over a wired network.
For a permanent Plex server, connect the Pi directly to your router or network switch whenever possible.
16. Enable Automatic Startup
Plex should normally be enabled automatically after installation.
Verify:
systemctl is-enabled plexmediaserver
If it returns:
enabled
Plex will start when Raspberry Pi OS boots.
If necessary:
sudo systemctl enable plexmediaserver
17. Check Plex After a Reboot
Reboot the Raspberry Pi:
sudo reboot
Wait approximately 30–60 seconds, then check:
systemctl status plexmediaserver
You should see:
Active: active (running)
Then open:
http://YOUR_PI_IP:32400/web
Your Plex server should be available again.
18. Optimize Raspberry Pi Cooling
Plex can place sustained load on the Raspberry Pi when it is scanning a large library or performing video transcoding.
For a Pi 5 Plex server, an active cooler is recommended.
Check the CPU temperature:
vcgencmd measure_temp
Depending on the Raspberry Pi OS version and hardware configuration, you can also inspect the thermal zone:
cat /sys/class/thermal/thermal_zone0/temp
The second command returns the temperature in thousandths of a degree Celsius.
For example:
55000
means approximately:
55°C
An actively cooled Raspberry Pi 5 is a better choice for a Plex server that will run continuously.
19. Avoid Unnecessary Transcoding
This is probably the most important Plex optimization for Raspberry Pi.
Whenever possible, configure your client devices to Direct Play your original media.
For example, if your TV supports the video format, Plex can send the original file:
MKV / H.264 / AAC
↓
Direct Play
↓
TV
Instead of:
MKV / unsupported codec
↓
Raspberry Pi
↓
Transcode
↓
TV
The second scenario consumes considerably more CPU resources.
Plex notes that transcoding requirements increase with the number of simultaneous streams and with situations where clients require media conversion.
20. Raspberry Pi and 4K Plex
A Raspberry Pi can store and serve 4K media, but 4K transcoding is a very different proposition.
For a Raspberry Pi Plex server, the ideal scenario is:
4K Direct Play
rather than:
4K → 1080p Transcode
If your clients can directly play the original 4K file, the Raspberry Pi has a much easier job.
If you expect several simultaneous remote users who need transcoding, a more powerful Intel-based system may be a better Plex server.
Plex’s own CPU guidance emphasizes that transcoding can dramatically increase the processing requirements of a server.
21. Plex Remote Access
Once Plex works locally, you may want to access your library when you’re away from home.
In Plex:
Settings → Remote Access
Plex uses port:
32400
for its server connection.
Your router may need a port-forwarding rule from the external connection to:
Raspberry Pi:32400
However, don’t expose unnecessary services to the Internet.
For remote access, use strong account security and keep Raspberry Pi OS and Plex updated.
Plex also notes that a server needs to remain powered on and connected to the Internet for remote access to work.
22. Check the Plex Server Port
You can verify that Plex is listening:
sudo ss -tulpn | grep 32400
You should see a listening socket associated with Plex.
You can also test locally:
curl http://127.0.0.1:32400/identity
If Plex is working, you’ll receive an XML response containing server information.
23. Check Plex Logs
If Plex isn’t working correctly, start by checking the service:
sudo systemctl status plexmediaserver
Then inspect recent logs:
sudo journalctl -u plexmediaserver --no-pager -n 100
The main Plex application data directory on Debian/Ubuntu systems is:
/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/
Plex documents this as the standard Linux location for its server data.
24. Fix Plex Media Permissions
If your library is empty, permissions are one of the first things to check.
Try:
sudo -u plex ls /mnt/media/Movies
If that fails, Plex cannot read your media.
One option is to add Plex to the group that owns your media:
sudo usermod -aG media plex
Then restart Plex:
sudo systemctl restart plexmediaserver
The exact group depends on how your storage is configured.
Avoid blindly running:
chmod -R 777 /mnt/media
Opening your entire media tree to every user is unnecessary and poor security practice.
Plex specifically notes that its server process needs read and execute permissions for your media directories and files.
25. Using an External USB Drive
You can store your media on a USB HDD or SSD.
For example:
Raspberry Pi 5
│
├── NVMe SSD
│ └── Plex OS/database
│
└── USB 3 storage
└── Movies/TV/Music
This is a good configuration if you need several terabytes of media.
For a large library, a powered USB enclosure is preferable because a Raspberry Pi shouldn’t be expected to power multiple large hard drives directly from its USB ports.
26. Using a NAS as Plex Storage
You don’t necessarily need to store your media directly on the Raspberry Pi.
You can mount a NAS share:
NAS
│
└── Media
├── Movies
├── TV Shows
└── Music
│
▼
Raspberry Pi 5
│
Plex
For example, you could mount an NFS share under:
/mnt/media
and point Plex to:
/mnt/media/Movies
This separates:
Media storage
from:
Plex server
which can be a very practical architecture.
27. Plex on Raspberry Pi vs Jellyfin
If you’re deciding between Plex and Jellyfin, both can work well for a Raspberry Pi media server.
| Feature | Plex | Jellyfin |
|---|---|---|
| Server | ✅ | ✅ |
| Raspberry Pi | ✅ | ✅ |
| Web interface | ✅ | ✅ |
| Mobile apps | ✅ | ✅ |
| Smart TV support | Excellent | Good |
| Remote access | Excellent | Manual |
| Easy setup | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Open source | ❌ | ✅ |
| Transcoding on Pi | Limited | Limited |
| Best for beginners | Plex | Jellyfin |
| Best for open-source users | — | Jellyfin |
Ww already have a Raspberry Pi Jellyfin guide on the site, Install Jellyfin on Raspberry Pi
28. Plex vs Jellyfin on Raspberry Pi
For Raspberry Pi specifically, the biggest consideration isn’t the user interface.
It’s transcoding.
Both platforms can run into limitations when the Raspberry Pi needs to convert video.
If most of your devices support your media formats:
Plex + Raspberry Pi = excellent
If you need frequent transcoding:
Plex + Raspberry Pi = not ideal
In that situation, consider an Intel-based mini PC with Quick Sync or another system specifically suited to hardware-accelerated transcoding.
Plex’s current hardware acceleration documentation focuses on supported Intel Quick Sync and NVIDIA hardware for accelerated streaming, while its NAS guidance notes that ARM devices generally have limited or no video transcoding capability.
29. Keep Plex Updated
Because Plex releases updates regularly, keeping the repository configured is preferable to repeatedly downloading packages manually.
Run:
sudo apt update
sudo apt upgrade
You can see the installed Plex version with:
dpkg -l | grep plexmediaserver
Plex’s current Linux repository instructions are designed to allow supported Debian-family systems to receive updates through the package manager.
30. Backup Your Plex Database
Your Plex database contains important information such as:
- Library metadata
- Posters
- Collections
- Server configuration
- Watch history
- Plex settings
Plex’s Linux data directory is:
/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/
Back it up periodically.
For example:
sudo systemctl stop plexmediaserver
Then create an archive:
sudo tar -czf plex-backup.tar.gz \
"/var/lib/plexmediaserver/Library/Application Support/Plex Media Server"
Restart Plex:
sudo systemctl start plexmediaserver
Store the backup on another drive or computer.
Don’t keep your only Plex backup on the Raspberry Pi itself.
Troubleshooting
Plex Web Interface Doesn’t Open
Check the service:
sudo systemctl status plexmediaserver
Check port 32400:
sudo ss -tulpn | grep 32400
Then try:
http://YOUR_PI_IP:32400/web
Plex Says the Library Is Empty
Test permissions:
sudo -u plex ls /mnt/media
If you get permission errors, fix the ownership/group permissions on the media directories.
Plex Is Buffering
Check whether Plex is transcoding.
In the Plex dashboard, inspect the active stream.
If you see:
Transcode
rather than:
Direct Play
the Raspberry Pi is doing significantly more work.
Try using a media format supported natively by your playback device.
Raspberry Pi CPU Usage Is Very High
Check:
top
or:
htop
Look for:
Plex Media Server
High CPU usage can occur during:
- Library scanning
- Thumbnail generation
- Video transcoding
- Subtitle processing
- Multiple simultaneous streams
Plex Doesn’t Start After Reboot
Check:
systemctl is-enabled plexmediaserver
If necessary:
sudo systemctl enable plexmediaserver
sudo systemctl start plexmediaserver
Then inspect:
sudo journalctl -u plexmediaserver --no-pager -n 100
Recommended Raspberry Pi Plex Server Build
For a new Plex server, I’d build it like this:
INTERNET
│
▼
Home Router
│
Ethernet
│
▼
Raspberry Pi 5
│
┌─────────┴─────────┐
│ │
NVMe SSD USB/NAS
│ │
Raspberry Pi OS Media Files
│
Plex Media Server
│
┌────┼────┐
▼ ▼ ▼
TV Phone Tablet
Recommended hardware
- Raspberry Pi 5
- 8GB RAM if you also plan to run other services
- NVMe SSD
- Active cooling
- Gigabit Ethernet
- Large USB/NAS storage for media
The NVMe drive can hold:
- Raspberry Pi OS
- Plex
- Plex metadata
- Docker
- Other server applications
while a larger HDD/NAS stores your actual media.
Can Raspberry Pi Run Plex 24/7?
Yes.
A Raspberry Pi is particularly attractive for an always-on Plex server because it consumes considerably less power than a traditional desktop computer.
For 24/7 operation:
- Use active cooling
- Prefer Ethernet
- Use SSD storage for the OS/database
- Keep backups
- Keep Plex updated
- Avoid unnecessary transcoding
- Use a reliable power supply
The Raspberry Pi 5’s official power supply and cooling recommendations should be followed for a stable server.
Is Raspberry Pi 5 Good Enough for Plex?
Yes, if your clients mostly Direct Play your media.
A Raspberry Pi 5 is a good fit for:
- One or several Direct Play streams
- Home media libraries
- Local network streaming
- Music
- TV shows
- Movies
- Personal videos
- Low-power 24/7 servers
It is less suitable for:
- Multiple simultaneous transcodes
- Heavy 4K transcoding
- Large numbers of remote users
- Complex subtitle transcoding
Plex’s own documentation emphasizes that transcoding requirements can quickly increase CPU requirements.
Final Verdict
Installing Plex on Raspberry Pi 5 is an excellent project if you want a low-power home media server.
The key isn’t simply installing Plex. The best results come from building the server around Direct Play, fast storage, good cooling and a wired network.
For a new build, we’d recommend:
Raspberry Pi 5 + NVMe SSD + active cooling + Ethernet + external/NAS media storage.
Use NVMe for the operating system and Plex database, while storing large media collections on a USB HDD, SSD or NAS.
If you’re primarily watching media on devices that support the original file formats, the Raspberry Pi 5 can provide a very capable Plex server without requiring a power-hungry PC.
Frequently Asked Questions
Can you install Plex on a Raspberry Pi?
Yes. Plex Media Server is available for Linux, and current Plex server packages include ARM builds suitable for Raspberry Pi systems running compatible 64-bit Debian-based distributions.
Is Raspberry Pi 5 good for Plex?
Yes, especially for Direct Play. It is less suitable for workloads involving frequent or multiple simultaneous video transcodes.
How do I access Plex on Raspberry Pi?
Open:
http://YOUR-RASPBERRY-PI-IP:32400/web
Plex documents port 32400 as the standard server web interface port.
Does Plex run automatically on Raspberry Pi?
Yes. The Plex package installs a systemd service that can be enabled to start automatically when Raspberry Pi OS boots.
Does Plex work with Raspberry Pi 4?
It can, but the Raspberry Pi 5 is the better choice for a new Plex server because of its substantially stronger CPU and I/O capabilities.
Can Raspberry Pi transcode 4K Plex video?
You should not build a Raspberry Pi Plex server around 4K transcoding. 4K Direct Play is a much better use case. If frequent transcoding is required, consider a more powerful system with dedicated hardware acceleration.
Is Plex better than Jellyfin on Raspberry Pi?
Plex generally provides an easier setup and broad client ecosystem, while Jellyfin is open source and gives you more control. For Raspberry Pi, however, transcoding capability is a more important consideration than the choice between the two platforms.
Should Plex run from an SD card or NVMe SSD?
For a dedicated Raspberry Pi Plex server, NVMe is preferable. Plex’s database and metadata benefit from faster storage, and an SSD is also generally a better foundation for an always-on server.
Does Plex require Plex Pass?
No. A basic Plex Media Server can be installed and used without Plex Pass. Some premium functionality, including certain hardware-accelerated streaming features and downloads, requires Plex Pass.