How to Install Plex on Raspberry Pi

How to Install Plex on Raspberry Pi

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.

FeaturePlexJellyfin
Server✅✅
Raspberry Pi✅✅
Web interface✅✅
Mobile apps✅✅
Smart TV supportExcellentGood
Remote accessExcellentManual
Easy setup⭐⭐⭐⭐⭐⭐⭐⭐⭐
Open source❌✅
Transcoding on PiLimitedLimited
Best for beginnersPlexJellyfin
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.

Recommended links