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

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 ligne | 1 tant que le serveur répond |
| Demandes en attente d'approbation | Demandes que personne n'a encore approuvées ni refusées |
| Demandes approuvées en cours | Approuvées, pas encore dans la médiathèque |
| Demandes disponibles | Approuvées et dans la médiathèque |
| Demandes en échec | Sonarr ou Radarr les a refusées |
| Total des demandes | Toutes les demandes, quel que soit leur état |
| Problèmes ouverts | Problèmes signalés par les utilisateurs, pas encore résolus |
| Dernière demande | Titre de la demande la plus récente |
| Dernier demandeur | Qui l'a faite |
| Version | Version du serveur |
| Mise à jour disponible | 1 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.jsonles 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=debugsur 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ètre | Type | Obligatoire | Description |
|---|---|---|---|
| Overseerr / Jellyseerr | section | Non | Adresse et clé d'API de votre Overseerr, Jellyseerr ou Seerr (Settings → General → API Key). |
| Adresse | string | Non | Adresse 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'API | secret | Non | Settings → General → API Key. Elle agit comme l'administrateur du serveur. |
| Nom | string | Non | Nom de l'appareil dans Gladys. Vide : le nom de l'application suivi de l'adresse. |
| Second serveur (facultatif) | section | Non | Mêmes champs, pour un autre serveur (une instance 4K, un Jellyseerr à côté d’un Overseerr…). |
| Adresse | string | Non | Adresse 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'API | secret | Non | Settings → General → API Key. Elle agit comme l'administrateur du serveur. |
| Nom | string | Non | Nom de l'appareil dans Gladys. Vide : le nom de l'application suivi de l'adresse. |
| Ombi (facultatif) | section | Non | Adresse et clé d'API de votre Ombi v4 (Settings → Ombi → API Key). |
| Adresse | string | Non | Adresse 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'API | secret | Non | Settings → Ombi → API Key. Elle agit comme un administrateur d'Ombi. |
| Nom | string | Non | Nom de l'appareil dans Gladys. Vide : Ombi suivi de l'adresse. |
| Options | section | Non | |
| Autoriser l'approbation et le refus | boolean | Non | Permet 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és | boolean | Non | Pour les adresses en https:// servies avec votre propre certificat. À cocher pour vos propres serveurs seulement. |
| Intervalle de rafraîchissement | select | Non | Fréquence de lecture des serveurs : compteurs, nouvelles demandes, arrivées, problèmes. |
| Langue des textes | select | Non | Noms 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
- 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.
- 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). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- 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.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation