Ak si čítal môj článok o Plexe, vieš o čo ide. Tu je postup od inštalácie cez pridanie knižnice až po správne nastavenie prístupu zvonka — aby to celé nešlo cez pomalý Plex relay.
Čo potrebuješ
Docker a Portainer nainštalované. Plex účet — zdarma na plex.tv. Prístup k súborom cez SSH alebo File Manager. Cesta k tvojim médiám (filmom, seriálom) na NAS alebo serveri — napr. /volume1/media.
Plex funguje bez Plex Pass — prehrávanie, vzdialený prístup, mobilné appky, zdieľanie knižnice. Hardware transcoding je funkcia Plex Pass. Ak ho nemáš, Plex bude používať softvérový transcoding — pomalší, zaťažuje CPU. Stačí ho kúpiť neskôr v Plex nastaveniach — reinštalácia nie je potrebná, HW transcoding sa aktivuje okamžite.
1. Zisti UID a GID (Synology/Linux)
Plex kontajner musí mať prístup k tvojim médiám — preto beží pod tvojím používateľom. V SSH spusti:
id tvoje_meno
Výstup: uid=1026(tvoje_meno) gid=100(users). Hodnoty PUID=1026 a PGID=100 použiješ v compose.
2. Vytvor priečinok pre konfig
Plex ukladá konfiguráciu, databázu a metadáta do jedného priečinka. Médiá ostávajú kde sú — len ich namapujeme.
mkdir -p /volume1/docker/plexhw
3. Vygeneruj Plex Claim Code
Claim code slúži na prepojenie kontajnera s tvojím Plex účtom. Je platný 4 minúty — vygeneruj ho tesne pred tým, ako klikneš Deploy the stack.
Prihlás sa na plex.tv/claim a skopíruj kód — bude vyzerať ako claim-xxxxxxxxxxxxxxxxxxxx.
4. Docker Compose stack
V Portainer: Stacks → Add stack → Web editor. Vyber platformu:
services:
plex:
image: ghcr.io/linuxserver/plex:latest
container_name: PlexHW
hostname: plex
network_mode: host
mem_limit: 4g
cpu_shares: 1024
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker/plexhw:/config:rw
- /volume1/media:/media:ro # ZMEŇ NA SVOJU CESTU K MÉDIÁM
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
environment:
TZ: Europe/Bratislava
PUID: 1026 # ZMEŇ NA SVOJE UID (krok 1)
PGID: 100 # ZMEŇ NA SVOJE GID (krok 1)
VERSION: public
PLEX_CLAIM: claim-xxxxxxxxxxxxxxxxxxxx # ZMEŇ (krok 3)
restart: on-failure:5
/volume1/media — cesta k tvojim médiám na NAS/serveri. Môžeš pridať viac riadkov: - /volume1/filmy:/filmy:ro, - /volume1/serialy:/serialy:ro atď.
PUID/PGID (Synology/Linux) — hodnoty z kroku 1
PLEX_CLAIM — claim kód z kroku 3, platný 4 minúty
TZ — tvoja časová zóna
Riadky /dev/dri/renderD128 a /dev/dri/card0 sú pre hardware transcoding. Skontroluj či tvoj NAS/server tieto zariadenia má: ls /dev/dri/. Ak nie — odstrán blok devices: zo stacku, Plex bude fungovať na softvérovom transcodingu.
Klikni Deploy the stack a počkaj na "Success Stack successfully deployed".
5. Prvé spustenie + pridanie knižnice
Otvor http://192.168.1.100:32400/web (nahraď IP svojho NAS). Prihlás sa Plex účtom.
Pomenuj server, potom klikni Add Library:
- Vyber typ — Movies, TV Shows, Music
- Klikni Browse For Media Folder
- Nájdi priečinok
/media(alebo ako si ho pomenoval v stacku) → Add - Klikni Add Library → Next → Done
Plex začne skenovať médiá a sťahovať metadáta — pri veľkej knižnici to môže trvať niekoľko minút.
Ak máš filmy a seriály v rôznych priečinkoch, pridaj v stacku viac volume mountov a potom pre každý vytvor zvlášť knižnicu v Plex. Plex dokáže automaticky rozlíšiť filmy od seriálov ak má správnu štruktúru priečinkov — /media/filmy/Filmovy Nazov (2024)/film.mkv.
6. Port forward alebo Cloudflare Tunnel
Toto je krok ktorý väčšina ľudí preskočí — a potom sa divujú prečo to seká u kamarátov. Bez priameho spojenia prechádza všetok stream cez Plex relay servery.
Ak nemáš nastavený priamy prístup, Plex presmeruje stream cez svoje servery — limit je 2 Mbps. Pri 1080p videu potrebuješ aspoň 8-10 Mbps, pri 4K 25-40 Mbps. Výsledok: sekanie, nízka kvalita, automatické znižovanie rozlíšenia. Vzdialení diváci nemôžu pozerať nič nad 480p.
Možnosť A — Port forward na routeri
V administrácii routera nastav presmerovanie portu:
- External port:
32400 - Internal IP: IP tvojho NAS/servera (napr.
192.168.1.100) - Internal port:
32400 - Protocol: TCP
Postup závisí od modelu routera — zvyčajne v sekcii Port Forwarding, NAT alebo Virtual Servers.
Otvorením portu 32400 sprístupňuješ Plex priamo z internetu. Plex má vlastné prihlásenie — riziko je prijateľné, ale odporúčam pravidelne aktualizovať kontajner a mať silné heslo Plex účtu s 2FA.
Možnosť B — Cloudflare Tunnel
Čistejšia alternatíva — bez otvárania portov. Postup v článku o Cloudflare Tunnel. V Cloudflare Zero Trust vytvor public hostname napr. plex.tvojadomena.sk → http://localhost:32400.
Cloudflare ToS zakazuje streaming veľkých objemov videa cez ich sieť. Pre osobné použitie a zdieľanie s rodinou je riziko minimálne, ale technicky to nie je v súlade s podmienkami. Port forward je pre Plex "správnejší" spôsob.
Overenie priameho spojenia
Plex → Settings → Remote Access. Ak vidíš zelené "Fully accessible outside your network", všetko funguje. Vzdialení diváci sa pripájajú priamo na tvoj server — žiadny relay, plná rýchlosť.
Plex → Settings → Manage Library Access → Share libraries. Zadaj email priateľa/rodiny → vyber ktoré knižnice zdieľať. Oni sa prihlásia svojím Plex účtom a uvidia tvoju knižnicu. Nepotrebujú nič inštalovať — stačí Plex appka alebo prehliadač.
7. Hardware Transcoding (vyžaduje Plex Pass)
Ak máš alebo si kúpiš Plex Pass, aktivuj HW transcoding:
Plex → Settings → Transcoder:
- Background transcoding quality: Super fast
- Zaškrtni Use hardware acceleration when available
- Zaškrtni Use hardware-accelerated video encoding
- Zaškrtni Enable HDR tone mapping
- Klikni Save Changes
Počas prehrávania videa choď v Plex na Dashboard → Now Playing. Pri aktívnom HW transcodingu uvidíš vedľa názvu súboru "(hw)" — napr. Transcoding (hw). Bez Plex Pass tam bude len (sw) — softvérový transcoding.
Troubleshooting
Najpravdepodobnejšia príčina: Plex nemá oprávnenia čítať tvoje súbory. Na Synology: Control Panel → Shared Folder → Edit → Permissions → Local groups → users → Read/Write → Save. Potom v Plex klikni Scan Library Files.
Počkaj 1-2 minúty po deployi — Plex potrebuje čas na prvé spustenie. Ak stále nefunguje, skontroluj logy v Portaineri (Containers → PlexHW → Logs). Časté príčiny: obsadený port 32400 inou inštaláciou Plexu, alebo zlý PUID/PGID.
Skontroluj: (1) Plex Pass je aktívny na účte, (2) /dev/dri/ existuje na serveri (ls /dev/dri/), (3) kontajner bol spustený s devices: blokom v compose, (4) v Settings → Transcoder je zaškrtnuté hardware acceleration.
PLEX_CLAIM je platný 4 minúty. Ak expiroval, kontajner sa spustí ale nebude prepojený s účtom. Riešenie: zmaž stack v Portaineri, vygeneruj nový claim kód, vlož ho do compose a redeploy. Konfig v /volume1/docker/plexhw môžeš nechať — Plex si len znovu vyžiada prepojenie.