Plex Home Media integrations
This package is created for those who are not experts in linux servers and docker. If you follow these steps you'll be able to install
Docker and deploy some dockerized apps needed for you
Plex home server. You just need a desktop computer with Ubuntu server installed on it. Follow all the steps and you should be fine.
I'm using the following apps, the images are provided by LSIO https://www.linuxserver.io/
- Radarr (https://hub.docker.com/r/linuxserver/radarr)
- Sonarr (https://hub.docker.com/r/linuxserver/sonarr)
- Overseerr (https://hub.docker.com/r/linuxserver/overseerr)
- Tautulli (https://hub.docker.com/r/linuxserver/tautulli)
- Transmission (https://fleet.linuxserver.io/image?name=linuxserver/transmission)
- Prowlarr (https://hub.docker.com/r/linuxserver/prowlarr)
- Jackett (https://hub.docker.com/r/linuxserver/jackett)
The router part can be used for local access of the apps, if you wish to be accessible from the outside please wait until i finish the Traefik + Authelia implementation. The certs are generated by Let's Encrypt and i'm using HTTP challange, meaning you need to have port 80 accesible.
Important router part.
Next update will bring a middleware service which will provide authentication to protect the services from unauthorized access if you wish to expose port 443 to WAN.
Configure the integration.
Inside this repo you'll find a file names
env.mk. Please edit this file with your volumes path. I recommend using
/appdata if you have the hdd/ssd installed on your computer and
/sharedata if you have attached a NFS share to your server. Also please update your user GID and UID. Set your timezone by updateing
TIMEZONE environment variable.
On your Ubuntu server you need to make sure you have already installed the following packages using aptitude.
sudo apt install -y wget make curl
Install Docker and docker-compose. You can either manually run each line or just execute the make target from below:
sudo curl https://get.docker.com | bash sudo groupadd docker sudo usermod -aG docker $USER sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
NOTE: Here is a tricky part, because of this command
sudo usermod -aG docker $USER you need to logout once from you server before you move forward.
After you installed docker you get the chance to populate
/etc/hosts with the services local domain name. These names can be used in your local browser to access the web interface of all service. The step should be used only if you have a GUI installed on your server, otherwise it has no use. Please use
sudo command when running this
sudo make prepare-hosts
Install Plex by downloading the deb package.
wget https://downloads.plex.tv/plex-media-server-new/18.104.22.16819-c43dc0277/debian/plexmediaserver_22.214.171.12419-c43dc0277_amd64.deb sudo dpkg -i plexmediaserver_126.96.36.19919-c43dc0277_amd64.deb
After you installed Plex you should configure it.
Generating user password.
Run this command to generate a password for your user then replace it in the
docker run authelia/authelia:latest authelia hash-password 'yourpassword'
How to use the package.
This integration is making use of
make. I have set up some targets to ease your job. I will describe each make target.
- First run this from you CLI. This target will create the docker networks and volumes.
- If you want to remove the volumes and networks run:
- If you want to remove the network only:
- If you want to remove the volumes only. But be aware, this target will remove the mapped path too:
- To start the bundle run this. This will bring all the docker images online.
- If you want to preload the images on your server, also using this target from time to time will bring the latest docker image:
- If you want to stop the docker images.