Ce tutoriel vous montrera comment installer les requêtes Plex sur les serveurs Ubuntu 16.04 et Ubuntu 18.04. Plex Requests est un moyen simple et automatisé permettant aux utilisateurs de demander de nouveaux contenus sur votre serveur multimédia Plex.
Plex Requests permet à vos utilisateurs de soumettre des demandes de contenu sur une page Web dédiée. La dernière version est la v1.21.2, publiée le 16 février 2018. Les fonctionnalités des requêtes Plex sont les suivantes :
- Les utilisateurs peuvent facilement rechercher dans TheMovieDB le contenu à demander
- Liste pratique des films et séries télévisées demandés et rapports de base sur les problèmes
- Authentification simple des utilisateurs avec un nouveau système d'approbation
- Intégration CouchPotato pour les téléchargements automatiques de films
- Intégration de SickRage et Sonarr pour les téléchargements automatiques de séries TV
- Notifications Pushbullet ou Pushover pour rester informé des demandes
Prérequis
Pour suivre ce tutoriel, il est supposé que vous avez déjà configuré le serveur multimédia Plex sur Ubuntu 16.04 ou Ubuntu 18.04. Vous pouvez consulter les articles suivants.
- Comment configurer le serveur multimédia Plex sur Ubuntu 16.04
- Comment configurer le serveur multimédia Plex sur Ubuntu 18.04
Pour exécuter les requêtes Plex, votre serveur doit disposer d'au moins 1 Go de RAM. 2 Go sont recommandés pour le faire fonctionner correctement. Sans plus tarder, installons Plex Requests.
Installer les requêtes Plex sur le serveur Ubuntu 16.04, 18.04
Plex Requests est écrit avec MeteorJS, qui est un framework Web JavaScript gratuit et open source pour la création d'applications Web et mobiles. Pour exécuter les requêtes Plex, nous devons installer MeteorJS avec la commande suivante.
sudo apt install curlcurl https://install.meteor.com/ | merde
Rendez-vous ensuite sur Github et téléchargez la dernière version.
Pour le télécharger à partir de la ligne de commande, utilisez la commande suivante. Si une nouvelle version sort, remplacez simplement 1.12.2 par le nouveau numéro de version.
wget -O plexrequests-meteor-1.21.2.zip https://codeload.github.com/lokenx/plexrequests-meteor/zip/v1.21.2
Ensuite, décompressez l'archive.
sudo apt install unzipunzip plexrequests-meteor-1.21.2.zip
Cd dans le répertoire.
cd plexrequests-meteor-1.21.2/
Nous pouvons maintenant exécuter les requêtes Plex avec la commande suivante.
météore
Notez que si votre serveur n'a pas assez de RAM, cette commande échouera et vous verrez l'erreur suivante. ENOMEM signifie "Erreur - Pas de mémoire".
Erreur :générez ENOMEM
De plus, Plex Requests écoute par défaut sur le port 3000. Si une autre application utilise le port 3000, spécifiez un autre port comme 3002. (MongoDB écoute sur le port 3001.)
météore --port 3002
Vous pouvez maintenant accéder à la page d'administration des demandes Plex à l'adresse
l'adresse ip-de-votre-serveur :3000/admin
Si le port 3000 est bloqué par le pare-feu, exécutez la commande suivante pour autoriser l'accès au port 3000.
sudo iptables -I INPUT -p tcp --dport 3000 -j ACCEPTER
Cliquez sur le lien S'inscrire pour créer un compte administrateur.
Exécutez les requêtes Plex en arrière-plan avec SystemD
Par défaut, la commande meteor s'exécute au premier plan, ce qui signifie que si vous quittez le terminal, les requêtes Plex cesseront de s'exécuter. Pour l'exécuter en arrière-plan, nous pouvons créer un service SystemD. Tout d'abord, appuyez sur Ctrl+C
pour arrêter le processus météore en cours. Créez ensuite un fichier de service SystemD pour les requêtes Plex avec un éditeur de texte en ligne de commande comme nano.
sudo nano /etc/systemd/system/plex-requests.service
Dans ce fichier, nous devons définir la variable d'environnement HOME, définir le répertoire de travail et spécifier que meteor s'exécutera en tant qu'utilisateur standard. Mettez donc le texte suivant dans ce fichier. Remplacez le texte rouge comme il convient.
[Unit]Description=Plex RequestsAfter=syslog.target network.target[Service]Environment="HOME=/home/linuxbabe"WorkingDirectory=/home/linuxbabe/plexrequests-meteor-1.21.2ExecStart=/usr/local/ bin/meteorType=simpleRestart=alwaysRestartSec=10User=linuxbabeGroup=linuxbabe[Install]WantedBy=multi-user.target
Pour enregistrer le fichier dans l'éditeur de texte Nano, appuyez sur Ctrl+O
, puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl+X
. Ensuite, nous pouvons démarrer le service SystemD avec :
sudo systemctl start plex-requests
Et activez le démarrage automatique au démarrage du système.
sudo systemctl enable plex-requests
Vérifiez maintenant l'état :
requêtes plex d'état systemctl
Assurez-vous qu'il est en cours d'exécution. Appuyez ensuite sur q
pour reprendre le contrôle du terminal.
Configurer le proxy inverse Nginx (sous-domaine)
Pour accéder aux demandes Plex via un nom de domaine au lieu de saisir l'adresse IP et le numéro de port, vous pouvez configurer un proxy inverse avec Nginx. Exécutez la commande suivante pour installer le serveur Web Nginx.
sudo apt installer nginx
Créez ensuite un fichier d'hôte virtuel Nginx pour les requêtes Plex.
sudo nano /etc/nginx/conf.d/plex-requests.conf
Mettez les lignes suivantes dans le fichier. Remplacez requests.example.com
avec votre propre nom de domaine. N'oubliez pas de définir un enregistrement A pour le sous-domaine. Le location / {…}
block fera des requêtes de redirection Nginx vers le port 3000.
serveur { écoute 80 ; nom_serveur demandes.exemple.com ; error_log /var/log/nginx/plex-requests.error ; emplacement / { proxy_pass http://127.0.0.1:3000; proxy_set_header Hôte $hôte ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; #mise à niveau vers le protocole WebSocket proxy_set_header Mettre à niveau $http_upgrade ; proxy_set_header Connexion "Mettre à niveau" ; }}
Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.
sudo nginx -t
Si le test réussit, rechargez Nginx pour que la nouvelle configuration prenne effet.
sudo systemctl recharger nginx
Maintenant, Plex Requests est placé derrière Nginx et vous pouvez y accéder via un nom de domaine (requests.example.com
).
Pour activer la connexion sécurisée HTTPS, vous pouvez obtenir et installer un certificat TLS/SSL gratuit de Let's Encrypt. Installez le client Let's Encrypt (certbot) avec :
sudo apt install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt updatesudo apt install certbot python3-certbot-nginx
Exécutez ensuite la commande suivante, qui utilise le plug-in Certbot Nginx pour obtenir et installer automatiquement le certificat TLS. Remplacez le texte rouge par vos données réelles.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email votre-adresse-email --domain requests.example.com
En quelques secondes, vous devriez voir un message de félicitations comme ci-dessous, ce qui signifie que le certificat a été obtenu avec succès.
Actualisez la page Web Plex Requests, vous constaterez que la connexion HTTP est automatiquement redirigée vers une connexion sécurisée HTTPS.
Configurer le proxy inverse Nginx (sous-répertoire)
Si vous souhaitez que les requêtes Plex soient accessibles via un sous-répertoire de votre domaine, ouvrez le fichier d'hôte virtuel Nginx existant pour votre serveur multimédia Plex. Le mien s'appelle plex.conf
.
sudo nano /etc/nginx/conf.d/plex.conf
Si vous avez suivi mon précédent didacticiel sur le serveur multimédia Plex, HTTPS devrait maintenant être activé pour votre serveur multimédia Plex. Et il vous suffit d'ajouter les lignes suivantes au bloc du serveur SSL (indiqué par listen 443 ssl
).
location ~* (/search|/admin|/requests|/packages|/sockjs|/app|/merged-stylesheets.css) { proxy_pass http://localhost:3000; proxy_set_header Hôte $hôte ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; proxy_set_header Mettre à jour $http_upgrade ; proxy_set_header Connexion "Mettre à niveau" ; }Dans la configuration ci-dessus, nous spécifions que si l'URL de la demande se termine par /search, /admin, /requests, /packages, /sockjs, /app ou /merged-stylesheets.css, indiquez à Nginx de rediriger la demande vers le port 3000. Si l'URL de la requête se termine par /sockjs, il y aura des requêtes WebSocket avec des requêtes HTTP normales, nous ajoutons donc les deux derniers
proxy_set_header
directives pour passer au protocole WebSocket.Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.
sudo nginx -tSi le test réussit, rechargez Nginx pour que la nouvelle configuration prenne effet.
sudo systemctl recharger nginxDésormais, la page Web principale des demandes Plex est accessible via un sous-répertoire.
exemple.com/rechercheEt la page d'administration est accessible via
example.com/adminConfigurer Apache Reverse Proxy (sous-domaine)
Si vous préférez Apache à Nginx, installez-le avec :
sudo apt install apache2Pour utiliser Apache comme proxy inverse, nous devons activer le
proxy
modules et le module d'en-tête.sudo a2enmod proxy proxy_http proxy_wstunnel en-têtesCréez ensuite un fichier d'hôte virtuel pour les requêtes Plex.
sudo nano /etc/apache2/sites-available/plex-requests.confMettez les lignes suivantes dans le fichier. Remplacez
requests.example.com
avec votre propre nom de domaine. N'oubliez pas de définir un enregistrement A pour le sous-domaine.ServerName requests.example.com ErrorDocument 404 /404.html #HTTP Requests ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ #Lorsque la mise à niveau du protocole vers Websocket est reçu, modifiez l'origine (schéma de protocole, hôte et port) RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost :3000%{REQUEST_URI} [P] Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.
sudo a2ensite plex-requests.confRedémarrez Apache
sudo systemctl redémarrer apache2Maintenant, Plex Requests est placé derrière Apache et vous pouvez y accéder via un nom de domaine (
requests.example.com
).Pour activer la connexion sécurisée HTTPS, vous pouvez obtenir et installer un certificat TLS/SSL gratuit de Let's Encrypt. Installez le client Let's Encrypt (certbot) avec :
sudo apt install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt updatesudo apt install certbot python3-certbot-apacheExécutez ensuite la commande suivante, qui utilise le plug-in Certbot Nginx pour obtenir et installer automatiquement le certificat TLS. Remplacez le texte rouge par vos données réelles.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email votre-adresse-email --domain requests.example.comEn quelques secondes, vous devriez voir un message de félicitations comme ci-dessous, ce qui signifie que le certificat a été obtenu avec succès.
Actualisez la page Web Plex Requests, vous constaterez que la connexion HTTP est automatiquement redirigée vers une connexion sécurisée HTTPS.
Configurer Apache Reverse Proxy (sous-répertoire)
Si vous souhaitez que les requêtes Plex soient accessibles via un sous-répertoire de votre domaine, ouvrez le fichier d'hôte virtuel Apache existant pour votre serveur multimédia Plex. Le mien s'appelle
plex-le-ssl.conf
. (Notez que vous devez modifier l'hôte virtuel qui écoute sur 443.)sudo nano /etc/nginx/conf.d/plex-le-ssl.confSi vous avez suivi mon précédent didacticiel sur le serveur multimédia Plex, HTTPS devrait maintenant être activé pour votre serveur multimédia Plex. Et il vous suffit d'ajouter les lignes suivantes dans le
<VirtualHost *:443>...</VirtualHost>
bloquer.RewriteEngine on #Si l'URL demandée est destinée aux requêtes Plex, puis redirigez la requête vers localhost :3000 RewriteCond %{REQUEST_URI} ^/(search|admin|requests|packages|app|sockjs|merged-stylesheets.css) [NC] RewriteRule .* http://localhost:3000%{REQUEST_URI} [P] #Ceci est pour les requêtes Websocket.RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P] Enregistrez et fermez le fichier. Rechargez ensuite Apache pour que les modifications prennent effet.
sudo systemctl recharger apache2Désormais, la page Web principale des demandes Plex est accessible via un sous-répertoire.
exemple.com/rechercheEt la page d'administration est accessible via
example.com/adminConclusion
J'espère que ce tutoriel vous a aidé à installer Plex Requests sur Ubuntu 18.04 et 16.04. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de conseils et astuces. Prenez soin de vous 🙂