Plex is a media server and streaming platform that lets you organize your personal media library and stream it to virtually any device, while also offering free movies, TV shows, live TV, and podcasts.
NOTE: Unlike Jellyfin, Plex is only free if streaming on your local network. There is a cost if you want to stream remotely.
sudo apt update && sudo apt upgrade -ycurl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
sudo apt install docker-compose-pluginsudo usermod -aG docker $USERsudo systemctl enable dockersudo rebootdocker run hello-worldmkdir ~/docker mkdir ~/docker/plex mkdir ~/docker/plex/config
In ~/docker/plex create docker-compose.yml
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=1000
- VERSION=docker
- PLEX_CLAIM=claim-VFDzv3bHizaXfnhJk8h2
volumes:
- /mnt/Media:/media # Location of your media files
- ~/docker/plex/config:/config
NOTE: Follow this guide to setup your media folder: Plex Media Structure
In a nutshell, if /mnt/Media is where you're storing everything, you should have something like /mnt/Media/Movies, /mnt/Media/TV_Shows, etc. Under each of those you'll have a directory for each movie, TV show, etc. For example: /mnt/Movies/John_Wick_(2014) and in there would be the movie file (.mkx, etc.). Personally, I just load all my media files in /mnt/Media with a directory for each movie or show and let Plex sort it all out. This works pretty well for me.
From within ~/docker/plex run:
docker compose up -d
docker logs plex
Open your browser and go to http://<your-pi>:32400
If you find my content useful, please consider supporting this page: