Building a Stand Alone Plex Server

2021-11-26 08:08 -0500 2-minute read

This year I’ve had a few “how do I play my CDs like I’d play [choose your music streaming service]” conversations. I personally run Plex for this purpose, and was curious what it’d look like to suggest that to someone who isn’t also running a homelab/UnRaid/Docker capable environment.

I had two goals:

  • Provide local-network ability to stream personal content on a given network; and
  • do so using only easy to access hardware (e.g., no shucking, no dealing with picking parts).

What I ended up settling on was a CanaKit; specifically the Raspberry Pi 4 Starter PRO Kit 4GB RAM, with an attached USB3 external hard drive. You can get a pretty large sized 2.5" drive and minimize the number of cords this way.


Once I had the hardware, I ran throught the following setup:

  1. Install Ubuntu using Raspberry Pi Imager
    • Love that it’s gotten to the point where you can do a fully headless install this easily
    • Update and upgrade; this wasn’t the snappiest (har har) process, but not surprising for a machine that fits in your pocket and is running off a tiny SD card
  2. Set up / restrict SSH keypairs for access to the server
  3. Set up the hard drive mount
  • I mounted as /plex, but really anything works provided you configure it correctly in Step 7
  • Make sure you’re setting up ownership and groups correctly; this bit me migrating files. If the plex service user can’t access the content, it doesn’t complain, but it also doesn’t get added to your libraries
  1. Set up the repository candidate for Ubuntu
  2. sudo apt install plexmediaserver
  • Make sure plexmediaserver is running as a daemon, and that it comes back up after power interruption
  1. Need to set the library, metadata, transcoding locations
  • I put them all on the external hard drive
  • You don’t want them on the SD card, or you’ll burn it out
  1. Simulate a power interruption (unplug it!) to make sure it comes back up after being unplugged

That’s it to have a Plex installation up and running on a Raspberry Pi with a full Ubuntu OS.