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:
- 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
- Set up / restrict SSH keypairs for access to the server
- 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
- Set up the repository candidate for Ubuntu
sudo apt install plexmediaserver
- Make sure
plexmediaserver
is running as a daemon, and that it comes back up after power interruption
- 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
- 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.