Aller au contenu principal

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

Intégration Overseerr / Jellyseerr / Ombi pour Gladys Assistant

Demandes de films/séries Overseerr, Jellyseerr, Seerr ou Ombi : 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.

Ombi (v4) est aussi pris en charge, avec sa propre API : un Ombi à côté d'un ou deux serveurs Overseerr, Jellyseerr ou Seerr. Testé contre un vrai Ombi 4.53.10.

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.

  • Pour Ombi : Ombi v4, son adresse (port 3579 par défaut) et sa clé d'API, dans Settings → Ombi → API Key. Elle agit aussi comme un administrateur.

Configuration​

Intégrations → Overseerr / Jellyseerr / Ombi → 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.

La section Ombi (facultatif) a les trois mêmes champs (adresse, clé d'API, nom) pour un Ombi v4.

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.

L'appareil Ombi a les mêmes fonctionnalités, sauf Demandes en échec et Mise à jour disponible : Ombi n'a pas d'état d'échec et n'annonce pas ses mises à jour. Son total est la somme de ce qu'Ombi compte (en attente, approuvées, disponibles, refusées).

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.

Ombi envoie les trois mêmes événements, avec les mêmes informations. Ses types de problème sont les catégories créées par son administrateur : une catégorie qui nomme la vidéo, l'audio ou les sous-titres est reconnue, toute autre passe en « autre ».

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.

Sur Ombi, les actions approuvent ou refusent la demande par son API, comme son interface ; une demande refusée peut être approuvée plus tard.

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.

Ombi ne garde pas les affiches (son interface les charge depuis TMDB) : les demandes d'un Ombi s'affichent sans affiche.

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.

Les exemples marchent de même avec un Ombi : choisissez son appareil dans le filtre « Serveur ».

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é.

Ombi : la clé passe dans l'en-tête ApiKey. Une lecture = /Request/count et /Issues/count ; quand ils bougent, et toutes les 10 minutes, les 50 dernières demandes de films et les 50 dernières de séries, et les problèmes. Les titres arrivent avec les demandes : rien d'autre n'est demandé à Ombi.

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.

  • « aucune API Ombi à cette adresse » (Ombi) : l'adresse répond, mais pas avec l'API d'Ombi : vérifiez le port (3579 par défaut) et la base d'URL réglée dans Ombi.

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.

  • Ombi : la partie 4K d'une demande de film n'est pas suivie (seulement la demande normale), pas d'affiche, pas d'état d'échec, pas d'indicateur de mise à jour. Ombi répond « Request successfully deleted » quand il refuse une demande : la demande reste, refusée.

  • Sans lien avec le projet Ombi.

Paramètres de configuration​

Voici les paramètres demandés par Overseerr / Jellyseerr / Ombi 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.
Ombi (facultatif)sectionNonAdresse et clé d'API de votre Ombi v4 (Settings → Ombi → 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:3579).
Clé d'APIsecretNonSettings → Ombi → API Key. Elle agit comme un administrateur d'Ombi.
NomstringNonNom de l'appareil dans Gladys. Vide : Ombi 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 / Ombi dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Overseerr / Jellyseerr / Ombi 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.1.0), 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 / Ombi 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 / Ombi 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 🙂