Tento tutoriál vám ukáže, jak nainstalovat požadavky Plex na server Ubuntu 16.04 a Ubuntu 18.04. Plex Requests je jednoduchý automatizovaný způsob, jak mohou uživatelé požadovat nový obsah na vašem mediálním serveru Plex.
Plex Requests umožňuje vašim uživatelům odesílat požadavky na obsah na vyhrazené webové stránce. Nejnovější verze je v1.21.2, vydaná 16. února 2018. Funkce Plex Requests jsou následující:
- Uživatelé mohou v TheMovieDB snadno vyhledávat obsah, který si mohou vyžádat
- Příruční seznam požadovaných filmů a televizních seriálů a základní hlášení problémů
- Jednoduché ověření uživatele pomocí nového systému schvalování
- Integrace CouchPotato pro automatické stahování filmů
- Integrace SickRage a Sonarr pro automatické stahování televizních seriálů
- Oznámení Pushbullet nebo Pushover, abyste měli aktuální požadavky
Předpoklady
Chcete-li sledovat tento tutoriál, předpokládá se, že jste již nastavili mediální server Plex na Ubuntu 16.04 nebo Ubuntu 18.04. Můžete se podívat na následující články.
- Jak nastavit mediální server Plex na Ubuntu 16.04
- Jak nastavit mediální server Plex na Ubuntu 18.04
Chcete-li spustit požadavky Plex, váš server musí mít alespoň 1 GB paměti RAM. Pro hladký chod se doporučuje 2 GB. Bez dalších okolků si nainstalujme Plex Requests.
Instalace požadavků Plex na server Ubuntu 16.04, 18.04
Plex Requests je napsán pomocí MeteorJS, což je bezplatný a open-source JavaScriptový webový rámec pro vytváření webových a mobilních aplikací. Ke spuštění Plex Requests musíme nainstalovat MeteorJS pomocí následujícího příkazu.
sudo apt install curl curl https://install.meteor.com/ | sh
Poté přejděte na Github a stáhněte si nejnovější verzi.
Chcete-li jej stáhnout z příkazového řádku, použijte následující příkaz. Pokud vyjde nová verze, jednoduše nahraďte 1.12.2 novým číslem verze.
wget -O plexrequests-meteor-1.21.2.zip https://codeload.github.com/lokenx/plexrequests-meteor/zip/v1.21.2
Dále rozbalte archiv.
sudo apt install unzip unzip plexrequests-meteor-1.21.2.zip
Cd do adresáře.
cd plexrequests-meteor-1.21.2/
Nyní můžeme spustit požadavky Plex pomocí následujícího příkazu.
meteor
Všimněte si, že pokud váš server nemá dostatek paměti RAM, tento příkaz selže a zobrazí se následující chyba. ENOMEM znamená „Chyba – žádná paměť“.
Error: spawn ENOMEM
Také požadavky Plex ve výchozím nastavení naslouchají na portu 3000. Pokud jiná aplikace používá port 3000, zadejte alternativní port, například 3002. (MongoDB naslouchá na portu 3001.)
meteor --port 3002
Nyní máte přístup na stránku správce Plex Requests na adrese
your-server-ip:3000/admin
Pokud je port 3000 blokován bránou firewall, spusťte následující příkaz a povolte přístup na portu 3000.
sudo iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
Kliknutím na odkaz Registrovat vytvoříte účet správce.
Spouštět požadavky Plex na pozadí pomocí SystemD
Ve výchozím nastavení běží příkaz meteor v popředí, což znamená, že pokud ukončíte terminál, požadavky Plex se přestanou spouštět. Pro spuštění na pozadí můžeme vytvořit službu SystemD. Nejprve stiskněte Ctrl+C
zastavit aktuální meteorický proces. Poté vytvořte soubor služby SystemD pro požadavky Plex pomocí textového editoru příkazového řádku, jako je nano.
sudo nano /etc/systemd/system/plex-requests.service
V tomto souboru musíme nastavit proměnnou prostředí HOME, nastavit pracovní adresář a určit, že meteor poběží jako standardní uživatel. Vložte tedy následující text do tohoto souboru. Nahraďte červený text podle potřeby.
[Unit] Description=Plex Requests After=syslog.target network.target [Service] Environment="HOME=/home/linuxbabe" WorkingDirectory=/home/linuxbabe/plexrequests-meteor-1.21.2 ExecStart=/usr/local/bin/meteor Type=simple Restart=always RestartSec=10 User=linuxbabe Group=linuxbabe [Install] WantedBy=multi-user.target
Chcete-li soubor uložit v textovém editoru Nano, stiskněte Ctrl+O
a poté stiskněte Enter pro potvrzení. Pro ukončení stiskněte Ctrl+X
. Dále můžeme spustit službu SystemD pomocí:
sudo systemctl start plex-requests
A povolit automatické spouštění při spouštění systému.
sudo systemctl enable plex-requests
Nyní zkontrolujte stav:
systemctl status plex-requests
Ujistěte se, že běží. Poté stiskněte q
získat zpět kontrolu nad terminálem.
Nastavte Nginx Reverse Proxy (subdoménu)
Chcete-li přistupovat k požadavkům Plex prostřednictvím názvu domény namísto zadávání IP adresy a čísla portu, můžete nastavit reverzní proxy s Nginx. Spusťte následující příkaz install Nginx web server.
sudo apt install nginx
Poté vytvořte soubor virtuálního hostitele Nginx pro požadavky Plex.
sudo nano /etc/nginx/conf.d/plex-requests.conf
Vložte do souboru následující řádky. Nahraďte requests.example.com
s vlastním názvem domény. Nezapomeňte nastavit záznam A pro subdoménu. location / {…}
blok vytvoří požadavky Nginx na přesměrování na port 3000.
server { listen 80; server_name requests.example.com; error_log /var/log/nginx/plex-requests.error; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #upgrade to WebSocket protocol proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }
Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx, aby se nová konfigurace projevila.
sudo systemctl reload nginx
Nyní jsou požadavky Plex umístěny za Nginx a můžete k nim přistupovat prostřednictvím názvu domény (requests.example.com
).
Chcete-li povolit zabezpečené připojení HTTPS, můžete získat a nainstalovat bezplatný certifikát TLS/SSL od společnosti Let’s Encrypt. Nainstalujte klienta Let’s Encrypt (certbot) pomocí:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt update sudo apt install certbot python3-certbot-nginx
Poté zadejte následující příkaz, který pomocí pluginu Certbot Nginx automaticky získá a nainstaluje certifikát TLS. Nahraďte červený text svými skutečnými daty.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com
Během několika sekund byste měli vidět blahopřání jako níže, což znamená, že certifikát byl úspěšně získán.
Obnovte webovou stránku Plex Requests, zjistíte, že připojení HTTP je automaticky přesměrováno na zabezpečené připojení HTTPS.
Nastavit Nginx Reverse Proxy (podadresář)
Pokud chcete, aby byly požadavky Plex přístupné prostřednictvím podadresáře vaší domény, otevřete existující soubor virtuálního hostitele Nginx pro váš mediální server Plex. Můj se jmenuje plex.conf
.
sudo nano /etc/nginx/conf.d/plex.conf
Pokud jste postupovali podle mého předchozího výukového programu pro mediální server Plex, měli byste nyní mít pro svůj mediální server Plex povoleno HTTPS. A stačí přidat následující řádky do bloku serveru SSL (označeno listen 443 ssl
).
location ~* (/search|/admin|/requests|/packages|/sockjs|/app|/merged-stylesheets.css) { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }
Ve výše uvedené konfiguraci určíme, že pokud adresa URL požadavku končí na /search, /admin, /requests, /packages, /sockjs, /app nebo /merged-stylesheets.css, sdělte Nginxu, aby přesměroval požadavek na port 3000. Pokud adresa URL požadavku končí /sockjs, budou existovat některé požadavky WebSocket spolu s běžnými požadavky HTTP, takže přidáme poslední dva proxy_set_header
direktivy pro upgrade na protokol WebSocket.
Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx, aby se nová konfigurace projevila.
sudo systemctl reload nginx
Nyní je hlavní webová stránka Plex Requests přístupná prostřednictvím podadresáře.
example.com/search
A stránka správce je přístupná přes
example.com/admin
Nastavte Apache Reverse Proxy (subdoménu)
Pokud dáváte přednost Apache před Nginx, nainstalujte jej pomocí:
sudo apt install apache2
Chcete-li používat Apache jako reverzní proxy, musíme povolit proxy
moduly a modul záhlaví.
sudo a2enmod proxy proxy_http proxy_wstunnel headers
Poté vytvořte soubor virtuálního hostitele pro požadavky Plex.
sudo nano /etc/apache2/sites-available/plex-requests.conf
Vložte do souboru následující řádky. Nahraďte requests.example.com
s vlastním názvem domény. Nezapomeňte nastavit záznam A pro subdoménu.
<VirtualHost *:80> ServerName requests.example.com ErrorDocument 404 /404.html #HTTP Requests ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ #When protocol upgrade to Websocket is received, change the origin (protocol scheme, host and port) RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P] </VirtualHost>
Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.
sudo a2ensite plex-requests.conf
Restartujte Apache
sudo systemctl restart apache2
Nyní je Plex Requests umístěn za Apache a můžete k němu přistupovat prostřednictvím názvu domény (requests.example.com
).
Chcete-li povolit zabezpečené připojení HTTPS, můžete získat a nainstalovat bezplatný certifikát TLS/SSL od společnosti Let’s Encrypt. Nainstalujte klienta Let’s Encrypt (certbot) pomocí:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt update sudo apt install certbot python3-certbot-apache
Poté zadejte následující příkaz, který pomocí pluginu Certbot Nginx automaticky získá a nainstaluje certifikát TLS. Nahraďte červený text svými skutečnými daty.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com
Během několika sekund byste měli vidět blahopřání jako níže, což znamená, že certifikát byl úspěšně získán.
Obnovte webovou stránku Plex Requests, zjistíte, že připojení HTTP je automaticky přesměrováno na zabezpečené připojení HTTPS.
Nastavte Apache Reverse Proxy (podadresář)
Pokud chcete, aby byly požadavky Plex přístupné prostřednictvím podadresáře vaší domény, otevřete existující soubor virtuálního hostitele Apache pro váš mediální server Plex. Můj se jmenuje plex-le-ssl.conf
. (Všimněte si, že musíte upravit virtuálního hostitele, který naslouchá na 443.)
sudo nano /etc/nginx/conf.d/plex-le-ssl.conf
Pokud jste postupovali podle mého předchozího výukového programu pro mediální server Plex, měli byste nyní mít pro svůj mediální server Plex povoleno HTTPS. A stačí přidat následující řádky do <VirtualHost *:443>...</VirtualHost>
blokovat.
RewriteEngine on #If the requested URL is meant for Plex Requests, then redirect the request to localhost:3000 RewriteCond %{REQUEST_URI} ^/(search|admin|requests|packages|app|sockjs|merged-stylesheets.css) [NC] RewriteRule .* http://localhost:3000%{REQUEST_URI} [P] #This is for Websocket requests. <Location /sockjs/> RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P] </Location>
Uložte a zavřete soubor. Poté znovu načtěte Apache, aby se změny projevily.
sudo systemctl reload apache2
Nyní je hlavní webová stránka Plex Requests přístupná prostřednictvím podadresáře.
example.com/search
A stránka správce je přístupná přes
example.com/admin
Závěr
Doufám, že vám tento návod pomohl nainstalovat požadavky Plex na Ubuntu 18.04 a 16.04. Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje, kde získáte další tipy a triky. Opatruj se 🙂