Εγκατάσταση Plex Server σε Linux machine με Docker¶
Προαπαιτούμενα¶
- Docker
- Docker Compose
Εγκατάσταση¶
- Δημιουργούμε τον φάκελο
plex-serverστον φάκελοhomeτου χρήστη. - Μέσα στον φάκελο δημιουργούμε το αρχείο
docker-compose.ymlμε τον παρακάτω περιεχόμενο:
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=1000
- VERSION=docker
volumes:
- ./config:/config
- /media/nassoskranidiotis/Backup/Movies:/movies # Θέση στον σκληρό δίσκο όπου αποθηκεύονται οι ταινίες
- /media/nassoskranidiotis/Backup/Series:/tv # Θέση στον σκληρό δίσκο όπου αποθηκεύονται οι σειρές
devices:
- /dev/dri:/dev/dri
restart: unless-stopped
- Εκτελούμε τον
docker-compose up -dγια να εκτελέσουμε τον Plex Server. - Δημιουργούμε τους φακέλους
/moviesκαι/tvστον σκληρό δίσκο και τοποθετούμε τους ταινίες και τις σειρές. Οι υπότιτλοι να έχουν το ίδιο όνομα με αυτό της ταινίας και κατάληξη.el.srt.
Πρόσβαση στον Plex Server¶
- Η πρόσβαση στον Plex Server γίνεται μέσω του
http://localhost:32400/web - Είναι απαραίτητο να ανοίξουμε την θύρα
32400στο τείχος προστασίας του λειτουργικού συστήματος. - Οι φάκελοι βιβλιοθήκης πρέπει να έχουν τα κατάλληλα δικαιώματα πρόσβασης από τον Plex Server. Για αυτό τον λόγο τρέχουμε την εντολή
chmod +x /home/ΤΟ_ΟΝΟΜΑ_ΧΡΗΣΤΗ_ΣΟΥκαι για κάθε φάκελο την εντολήsudo chmod -R 755 /διαδρομή/προς/τα/αρχεία/σου. Επίσης βάζουμε τον χρήστη plex στην ομάδα του χρήστη μας ως εξής:sudo gpasswd -a plex ΤΟ_ΟΝΟΜΑ_ΧΡΗΣΤΗ_ΣΟΥκαι κάνουμε επανεκκίνηση του plex serversudo systemctl restart plexmediaserver. - Σύνδεση με προσωπικό λογαριασμό Plex.
Ρυθμίσεις Plex¶
- Settings -> Transcoder -> Show Advanced -> Disable video stream transcoding -> Save
- Manage -> Libraries -> Add Library και προσθέτουμε το είδος της βιβλιοθήκης (π.χ. Movies) και στην συνέχεια επιλέγουμε τον φάκελο
/movies(που έχουμε ορίσει μέσα στο Docker container). - Στις 3 τελείες δίπλα στο Movies επιλέγουμε Scan Library Files.
Επίλυση προβλημάτων¶
- Αν το HRD10 ή Dolby Vision δεν παίζει καλά στην τηλεόραση, τότε πρέπει να ενεργοποιηθεί το HDMI Deep Color (LG) σε αυτήν.
Εγκατάσταση Plex Server σε Contabo VPS¶
- Ενημέρωση Συστήματος & Εγκατάσταση Εξαρτήσεων Συνδεθείτε μέσω SSH στον VPS και εκτελέστε:
- Προσθήκη του Plex Repository Για να λαμβάνετε αυτόματα ενημερώσεις, προσθέστε το επίσημο αποθετήριο:
# Προσθήκη κλειδιού GPG
curl https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plex-archive-keyring.gpg > /dev/null
# Προσθήκη του Repository
echo "deb [signed-by=/usr/share/keyrings/plex-archive-keyring.gpg] https://downloads.plex.tv/repo/deb public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
# Εγκατάσταση του Plex
sudo apt update
sudo apt install plexmediaserver -y
- Δημιουργία Φακέλων & Δικαιώματα Δημιουργήστε τους φακέλους για τις ταινίες και δώστε δικαιώματα στον χρήστη plex:
sudo mkdir -p /home/media/movies
sudo mkdir -p /home/media/tvshows
sudo chown -R plex:plex /home/media
sudo chmod -R 755 /home/media
- Πρώτη Σύνδεση (SSH Tunnel) Επειδή ο server είναι απομακρυσμένος, η πρώτη ρύθμιση πρέπει να γίνει μέσω "γέφυρας". Από το τερματικό του υπολογιστή σας (Linux Mint):
Αφήστε το τερματικό ανοιχτό και ανοίξτε στον browser τη διεύθυνση: http://127.0.0.1:8888/web
- Ρύθμιση Plex & Remote Access
- Συνδεθείτε (Sign In) με τον λογαριασμό σας.
- Ονομάστε τον server σας.
- Προσοχή: Τσεκάρετε το κουτάκι "Allow me to access my media outside my home".
- Προσθέστε τις βιβλιοθήκες επιλέγοντας τις διαδρομές /home/media/movies κλπ.
- Μόλις ολοκληρώσετε, πηγαίνετε Settings > Remote Access και βεβαιωθείτε ότι το εικονίδιο είναι Πράσινο.
-
Αν ο server υπάρχει ήδη, τότε πρέπει να τον κάνουμε claim (Settings > Remote Access > Claim Server)
-
Ρύθμιση Firewall (Αν χρησιμοποιείτε UFW) Επιτρέψτε την επικοινωνία στην πόρτα του Plex:
- Ο Plex client σε υπολογιστή τρέχει μέσω web browser στην διεύθυνση http://contabo_vps_ip:32400/web
Plex Server και Tailscale¶
Αν ο VPS και οι συσκευές που έχουν πρόσβαση σε αυτόν ανήκουν σε ένα tailscale network, τότε ο Plex Server δεν χρειάζεται να εκτίθεται δημόσια, αλλά θα είναι κρυμμένος μέσα στο δίκτυο του tailscale. Για τον σκοπό αυτόν κάνουμε τα εξής:
- Συνδεόμαστε στον Plex Server μέσω του web browser στην διεύθυνση http://tailscale_vps_ip:32400/web
- Settings > Network > Custom server access URLs και προσθέτουμε την διεύθυνση http://tailscale_vps_ip:32400.
- Settings > Remote Access > Disable remote access.
Παράλληλα, επιτρέπουμε την πρόσβαση στον Plex Server (θύρα 32400) μόνον μέσω του tailscale:
και αποκλείουμε την πρόσβαση από το δημόσιο δίκτυο:
που δίνει για παράδειγμα sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 41641/udp ALLOW IN Anywhere
[ 2] 32400/tcp ALLOW IN Anywhere
[ 3] 22 on tailscale0 ALLOW IN Anywhere
[ 4] 32400 on tailscale0 ALLOW IN Anywhere
[ 5] 32400/tcp (v6) ALLOW IN Anywhere (v6)
[ 6] 22 (v6) on tailscale0 ALLOW IN Anywhere (v6)
[ 7] 41641/udp (v6) ALLOW IN Anywhere (v6)
[ 8] 32400 (v6) on tailscale0 ALLOW IN Anywhere (v6)
και διαγράφουμε την πρόσβαση 32400/tcp για IPv4 και για IPv6 από το δημόσιο δίκτυο:
που δίνειsudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 41641/udp ALLOW IN Anywhere
[ 2] 22 on tailscale0 ALLOW IN Anywhere
[ 3] 32400 on tailscale0 ALLOW IN Anywhere
[ 4] 32400/tcp (v6) ALLOW IN Anywhere (v6)
[ 5] 22 (v6) on tailscale0 ALLOW IN Anywhere (v6)
[ 6] 41641/udp (v6) ALLOW IN Anywhere (v6)
[ 7] 32400 (v6) on tailscale0 ALLOW IN Anywhere (v6)
και μετά διαγράφουμε και το 4.
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 41641/udp ALLOW IN Anywhere
[ 2] 22 on tailscale0 ALLOW IN Anywhere
[ 3] 32400 on tailscale0 ALLOW IN Anywhere
[ 4] 22 (v6) on tailscale0 ALLOW IN Anywhere (v6)
[ 5] 41641/udp (v6) ALLOW IN Anywhere (v6)
[ 6] 32400 (v6) on tailscale0 ALLOW IN Anywhere (v6)