Aller au contenu principal

Intégration domotique Overseerr / Jellyseerr, gratuite et open source

Intégration Overseerr / Jellyseerr pour Gladys Assistant

Demandes de films et séries Overseerr, Jellyseerr ou Seerr : approbations, arrivées, problèmes.

Suivez dans Gladys les demandes de films et de séries de votre foyer : ce qui attend votre approbation, ce qui est en cours de téléchargement, ce qui vient d'arriver dans la médiathèque, et les problèmes signalés par vos utilisateurs. Fonctionne avec Overseerr (Plex), Jellyseerr (Jellyfin, Emby, Plex) et Seerr (leur successeur) : les trois partagent la même API.

C'est le compagnon de l'intégration « Sonarr & Radarr », qui suit les téléchargements eux-mêmes ; celle-ci suit les demandes de vos utilisateurs.

Testée contre de vrais serveurs Overseerr 1.35.0, Jellyseerr 2.7.3 et Seerr 3.5.0, mais pas encore sur une installation complète (Plex ou Jellyfin, Sonarr, Radarr et Gladys ensemble) : retours bienvenus sur GitHub.

Prérequis​

  • Gladys Assistant 5.1.0 ou plus récent.
  • Un serveur Overseerr, Jellyseerr ou Seerr que Gladys peut joindre sur votre réseau (par exemple http://192.168.1.2:5055).
  • Sa clé d'API : dans l'interface web, Settings → General → API Key. La clé agit comme l'administrateur du serveur : gardez-la pour vous.

Configuration​

Intégrations → Overseerr / Jellyseerr → Configuration :

  • Adresse : l'adresse IP ou le nom du serveur avec son port, et sa base d'URL s'il est derrière un reverse proxy (https://example.org/overseerr). Une adresse copiée depuis le navigateur fonctionne aussi.
  • Clé d'API : voir plus haut.
  • Nom : le nom de l'appareil dans Gladys. Vide : le nom de l'application suivi de l'adresse.
  • Un second serveur est facultatif : une instance 4K, ou un Jellyseerr à côté d'un Overseerr.
  • Autoriser l'approbation et le refus : décoché par défaut. Coché, les actions de scène et les boutons du widget peuvent approuver ou refuser la demande en attente la plus récente. Décoché, Gladys ne fait que lire.
  • Accepter les certificats auto-signés : pour une adresse en https:// servie avec votre propre certificat.
  • Intervalle de rafraîchissement : de 30 secondes à 10 minutes (1 minute par défaut).
  • Langue des textes : les noms des fonctionnalités (donnés à l'ajout de l'appareil, puis figés par Gladys), les titres des films et séries, et les mots envoyés aux scènes. Français par défaut.

Tester la connexion lit chaque serveur maintenant et indique ce qu'il trouve.

Ensuite, dans l'onglet Découverte, ajoutez à Gladys l'appareil de chaque serveur.

Appareil​

Un appareil par serveur, en lecture seule :

FonctionnalitéCe qu'elle indique
En ligne1 tant que le serveur répond
Demandes en attente d'approbationDemandes que personne n'a encore approuvées ni refusées
Demandes approuvées en coursApprouvées, pas encore dans la médiathèque
Demandes disponiblesApprouvées et dans la médiathèque
Demandes en échecSonarr ou Radarr les a refusées
Total des demandesToutes les demandes, quel que soit leur état
Problèmes ouvertsProblèmes signalés par les utilisateurs, pas encore résolus
Dernière demandeTitre de la demande la plus récente
Dernier demandeurQui l'a faite
VersionVersion du serveur
Mise à jour disponible1 quand le serveur annonce une nouvelle version (Overseerr, Jellyseerr)

Les compteurs gardent leur historique : un graphique des demandes en attente montre combien de temps votre famille attend.

Déclencheurs de scène​

  • Nouvelle demande : quelqu'un a demandé un film ou une série. Filtres : serveur, films ou séries, état (en attente d'approbation, ou approuvée d'office pour les utilisateurs qui en ont le droit), demandeur. Informations transmises à la scène : titre, film ou série, demandeur, état, saisons, demande en 4K, numéro de la demande.
  • Demande disponible : un film demandé, ou toutes les saisons demandées d'une série, est maintenant dans la médiathèque. Filtres : serveur, films ou séries, demandeur. Informations : titre, film ou série, demandeur, demande en 4K.
  • Nouveau problème signalé : un utilisateur a signalé un problème sur un film ou un épisode. Filtres : serveur, films ou séries, type (vidéo, audio, sous-titres, autre). Informations : titre, type, auteur du signalement, son message, saison et épisode.

Chaque événement est annoncé une fois, y compris après un redémarrage de l'intégration : ce qu'elle connaissait déjà n'est pas annoncé à nouveau. Une demande ou un problème créé plus d'une heure avant sa lecture (l'intégration était arrêtée) n'est pas annoncé comme nouveau ; une arrivée l'est toujours.

Actions de scène​

Elles demandent Autoriser l'approbation et le refus ; sinon elles échouent avec un message qui dit où l'activer.

  • Approuver la dernière demande : approuve la demande en attente la plus récente, sur un serveur ou n'importe lequel, films, séries ou les deux. Le serveur l'envoie alors à Sonarr ou Radarr, comme quand vous l'approuvez dans son interface.
  • Refuser la dernière demande : la refuse. Une demande refusée peut encore être approuvée plus tard dans l'interface d'Overseerr ou de Jellyseerr.

Résultats transmis aux actions suivantes : si une demande a été trouvée (aucune en attente n'est pas une erreur), son titre, son demandeur, film ou série.

Widget​

Demandes de médias : trois tuiles (à approuver, en cours, problèmes ouverts), les huit demandes les plus récentes avec leur affiche, leur demandeur et leur état (en attente, approuvée, en partie, disponible, refusée, en échec), et une ligne par serveur avec sa version. Tous les serveurs, ou celui choisi dans les réglages du widget.

Avec Autoriser l'approbation et le refus, une légende nomme la demande en attente la plus récente et deux boutons agissent sur elle : Approuver et Refuser, chacun demandant d'abord une confirmation.

Les affiches viennent du serveur lui-même (son cache d'images) : ni votre navigateur ni l'intégration ne contactent TMDB.

Exemples de scènes​

  • Prévenir le demandeur : déclencheur « Demande disponible », demandeur alice ; action « Envoyer un message » à Alice, avec le titre choisi dans les informations de la scène : « … est disponible, bon visionnage ! ».
  • Approuver les demandes des enfants en journée : déclencheur « Nouvelle demande », état en attente d'approbation, demandeur leo ; condition : entre 9 h et 20 h ; action « Approuver la dernière demande ».
  • Un problème de sous-titres : déclencheur « Nouveau problème signalé », type Sous-titres ; action « Envoyer un message » à l'administrateur avec le titre et le message.
  • Résumé du matin : chaque jour à 8 h, envoyer la valeur de « Demandes en attente d'approbation » quand elle dépasse 0.

Utilisation de l'API​

  • Tout reste sur votre réseau : l'intégration ne parle qu'à l'API locale de votre serveur, avec la clé d'API dans l'en-tête X-Api-Key (jamais dans une adresse, jamais dans les journaux).
  • Une lecture = deux petites requêtes (/request/count, /issue/count). La liste des 50 demandes les plus récentes et des 20 derniers problèmes n'est lue que quand ces compteurs bougent, et toutes les 10 minutes de toute façon ; la version une fois par heure. Chaque lecture de la liste fait demander au serveur leurs profils de qualité à Sonarr et Radarr : gardez un intervalle de rafraîchissement raisonnable.
  • Les titres et affiches sont demandés au serveur (qui les demande une fois à TMDB et les garde), pour les demandes les plus récentes et les événements seulement.
  • L'intégration garde dans /data/seerr-state.json les derniers numéros de demande et de problème vus et les demandes qui attendent leur média. Aucun mot de passe, aucune clé.

Dépannage​

  • « clé d'API refusée » : recopiez la clé depuis Settings → General. Une nouvelle clé générée sur le serveur invalide l'ancienne.
  • « ne répond pas » : vérifiez l'adresse et le port (5055 par défaut), et que Gladys peut joindre le serveur (même réseau, pare-feu, réseau Docker).
  • « certificat refusé » : cochez Accepter les certificats auto-signés, ou utilisez l'adresse en http:// de votre réseau.
  • « l'adresse redirige » : saisissez l'adresse finale, avec sa base d'URL.
  • Titres affichés « Film n° 550 » : le serveur n'a pas pu joindre TMDB à ce moment-là ; les titres reviennent seuls quelques minutes plus tard.
  • Aucun événement : les événements concernent ce qui se passe après le démarrage de l'intégration ; lancez Tester la connexion pour voir ce que répond le serveur. Pour plus de détails, réglez LOG_LEVEL=debug sur l'intégration et lisez ses journaux.

Limites​

  • Seules les 50 demandes les plus récentes sont suivies jusqu'à leur arrivée : dans une installation avec plus de demandes en attente à la fois, les plus anciennes ne sont pas annoncées à leur arrivée.
  • Une série est annoncée disponible quand toutes les saisons de la demande sont dans la médiathèque ; une demande pour une saison d'une série déjà en partie présente est annoncée de la même façon.
  • Pas de webhook : Overseerr sait pousser des notifications, mais Gladys lance l'intégration sans port entrant. Un événement apparaît donc en un intervalle de rafraîchissement (l'arrivée d'une saison : en 10 minutes au plus).
  • L'approbation agit comme l'administrateur du serveur (la clé d'API) ; un refus ne supprime jamais rien. Aucune autre modification n'est faite sur le serveur.
  • Le filtre sur le demandeur compare le nom exactement tel qu'Overseerr l'affiche.
  • Sans lien avec les projets Overseerr, Jellyseerr ou Seerr.

Paramètres de configuration​

Voici les paramètres demandés par Overseerr / Jellyseerr dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Overseerr / JellyseerrsectionNonAdresse et clé d'API de votre Overseerr, Jellyseerr ou Seerr (Settings → General → API Key).
AdressestringNonAdresse IP ou nom avec le port, et la base d'URL s'il y en a une (ex. http://192.168.1.2:5055).
Clé d'APIsecretNonSettings → General → API Key. Elle agit comme l'administrateur du serveur.
NomstringNonNom de l'appareil dans Gladys. Vide : le nom de l'application suivi de l'adresse.
Second serveur (facultatif)sectionNonMêmes champs, pour un autre serveur (une instance 4K, un Jellyseerr à côté d’un Overseerr…).
AdressestringNonAdresse IP ou nom avec le port, et la base d'URL s'il y en a une (ex. http://192.168.1.2:5055).
Clé d'APIsecretNonSettings → General → API Key. Elle agit comme l'administrateur du serveur.
NomstringNonNom de l'appareil dans Gladys. Vide : le nom de l'application suivi de l'adresse.
OptionssectionNon
Autoriser l'approbation et le refusbooleanNonPermet aux scènes et au widget d'approuver ou de refuser la dernière demande en attente. Décoché : Gladys ne fait que lire.
Accepter les certificats auto-signésbooleanNonPour les adresses en https:// servies avec votre propre certificat. À cocher pour vos propres serveurs seulement.
Intervalle de rafraîchissementselectNonFréquence de lecture des serveurs : compteurs, nouvelles demandes, arrivées, problèmes.
Langue des textesselectNonNoms donnés aux fonctionnalités à l'ajout d'un appareil, titres des films, mots envoyés aux scènes.

Comment installer Overseerr / Jellyseerr dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Overseerr / Jellyseerr apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/guim31/gladys-seerr:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-seerr.

Overseerr / Jellyseerr nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

À propos des intégrations externes​

Overseerr / Jellyseerr est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂