Hello,

Je travaille depuis quelques semaines sur le développement d'une alternative à CouchPotato, Radarr et Watcher3, trouvant les deux trop lourd à mon gout et pas adaptés à certains de mes besoins.

Du coup je vous présente...

🍿📼 Sensorr

Movie

Grossièrement tout le projet se repose sur l'API de TMDB, vous construisez votre collection, et de là, un CLI tournera tout les jours à 17h pour télécharger les films souhaités.

Fonctionnalités

  • Trending
    • Tendances
    • Découvertes (Populaires)
    • Découvertes (Année aléatoire)
    • Découvertes (Genre aléatoire)
  • Movies / Collection
    • Gestion de votre collection de films (wished et archived)
  • Movies / Search
    • Recherche d'un film par son titre
  • Movies / Details
    • Détails d'un film
    • Considérer le film comme, 🔕 ignored, 🍿 wished ou 📼 archived
    • Rechercher des releases sur plusieurs sources (torznab / newznab) - recherche avec le titre (localisé) et le titre original ("Rencontres du troisième type" et "Close Encounters of the Third Kind" par exemple)
    • Téléchargement d'une release
  • Stars / Upcoming
    • Suivez les films des stars que vous suivez via un calendrier des sorties !
  • Stars / Following
    • Gestion de votre collection de star suivies
  • Stars / Search
    • Recherche d'une star par son prenom/nom
  • Stars / Details
    • Détails d'un star
    • Suivez une star, 🔕 ignored, 🔔 followed
  • Configure
    • Configuration épurée
    • WebUI sécurisé avec basic-auth
    • Conscient de la langue de l'utilisateur, par défaut les recherches sont faites sur TMDB avec le premier window.navigator.languages
  • Logs
    • Affichage des logs détaillés
    • Tous les films wished traités par le cron

Attention

🚨 Il s'agit d'un projet expérimental précoce, pour l'instant uniquement fonctionnel avec Cardigann et Jackett

Pour plus d'informations, vous pouvez allez voir le dépôt Github du projet : https://github.com/thcolin/sensorr

Vos retours sont les bienvenus !

Je vais essayer à l'occasion, j'ai jamais accroché à CouchPotato je le trouve cette application compliqué.

Pour ton image docker il faut que tu limites les layers (pour des raisons de performance et du poids final de ton image)
voir le tuto de @xataz sur ce sujet https://mondedie.fr/d/7164-Tuto-Utilisation-de-Docker/8
scroll un peu tu vas tomber sur "les bonnes pratiques"

ça à l'air d'être du beau boulot, prometteur en tout cas

    Magicalex Ah yes, merci beaucoup, première image docker que je rédige et que je maintiens, je voulais justement voir ça avant de release une première version ! Je regarde ça dés que j'ai 5min !

    Bravo et merci 🙂 Je n'utilise que jackett donc je suppose que je n'utiliserai jamais ton application autrement que pour tester mais c'est bien, ça manque de nouveautés dans ce domaine. Même si j'aime beaucoup la légèreté de Watcher3.

    Merci à toi aussi ! J'ai lu presque tout tes tutos sur ces sujets quand j'ai reçu mon Synology, sans ton blog j'aurais jamais eu l'idée de développer cette application !

    Pour Jackett, je suis en train de regarder pour rendre Sensorr compatible. Je veux migrer mon installation perso de Cardigann vers Jackett de toute façon, Cardigann n'étant plus vraiment maintenu et ne disposant d'aucun système d'authentification. Donc prochaine étape, rédiger une image Docker pour ajouter un reverse proxy CORS à Jackett !

    Bonsoir c'est quoi le probléme de CORS avec Jacket ?

    je l'utilise depuis des années sans probleme

    cordialement

      Cognotte

      Ils n'ont pas mis de stratégie de partage des ressources aka CORS (voir l'issue #2818), du coup pas moyen d'appeler une API Jackett directement depuis le browser.

      Mais finalement je vais utiliser le server express de Sensorr comme reverse proxy pour les requêtes sur les XZNAB (Torznab & Newznab) et ça règle le problème encore plus simplement que ce que j'avais imaginé ! Je suis en train de tester ça, et ça à l'air de bien fonctionner, j'essayerais de pusher ça rapidement et je posterais un message pour ceux qui souhaitent tester l'application avec Jackett !

        thcolin Super app ! J'allais te dire de reverse proxy avec express ou autre endpoint sur ton api 🙂

        Et merci aussi pour le Docker, je testerai dimanche.

        Je viens de push une nouvelle image docker, maintenant les requêtes sur les XZNAB sont proxifié par le serveur lui même, j'ai fait quelques tests, ça fonctionne sous Jackett & Cardigann maintenant !

        Si jamais vous avez l’occasion de tester, hésiter pas à me remonter les bugs que vous rencontrez !

        C'est beeeeaaaauuuu !!! 🙂 (Docker)
        Peut-être que dans la partie /config/XZNAB tu devrais préciser qu'il faut mettre les informations prisent dans Jackett/Cardigann ? Je pense que pour un noob ce ne sera pas évident, Torznab ça va être du chinois...
        Le watchlist est cherchée dans quel intervalle ?

        Utile :
        Prévois-tu d'intégrer des RSS ? Certains sites ne sont en effet pas accessibles via Jackett (et ne le seront jamais pour leur intimité).
        Une watchlist est-elle en prévision ? Je viens de voir l'icône...

        Bonus :
        Possible d'intégrer la BDD Movies de Plex ? Je pense notamment à un check de films recherché/similaires, histoire de ne pas prendre des doublons.
        Des menus déroulants/boutons pour les filtres de recherche seraient sans doute plus userfriendly 🙂
        Par défaut le choix du tri (puisque seeder), devrait être descendant, non ?

        Noob inside :
        Syntaxe des filtres : METTRE L'ESPACE APRèS LA VIRGULE ! "language=multi, resolution=1080p"

          Aerya

          Yep, je vais ajouter des précisions pour la configuration, j'ai moi même eu quelques galères à savoir quelle URL vraiment fetch en fonction de Cardigann et Jackett (Cardigann ne copiant pas le /api à la fin des URL Torznab)

          Je ne pense pas intégrer les RSS, je voudrais éviter à avoir à maintenir une base complexe à long terme. Je préfère déléguer ce travail à Jackett ou Cardigann, c'est plus leur rôle je pense. À voir si ces outils permettent de rédiger des defintion (comme Cardigann) facilement pour des trackers avec uniquement des flux RSS.

          Et même réponse pour intégrer la BDD de Plex, je souhaite garder Sensorr simple afin qu'il reste maintenable. Quand j'ai testé CouchPotato j'ai été surpris qu'il me demande un folder à scanner pour créer ma collection. Avec Sensorr, j'ai voulu rester simple, on précise simplement nos souhaits de films ainsi que nos contraintes (seulement du 1080p, en TRUEFRENCH...) et tout les jours un script passe pour télécharger la meilleur release qu'il trouve.

          Pour les filtres, c'est des expressions régulières séparé par des virgules, chaque expression régulière devant être validé (par exemple si je mets FRENCH, 1080p, il va retourner uniquement les releases contenant dans le titre FRENCH ET 1080p). Pour avoir des valeurs normalisés et éviter de préciser 1080P|1080p, vous pouvez utilisez toutes les clés primaires de mon autre projet Oleoo (source=CAM|TC|SCREENER|R5|DVDRip|BDRip|HDRip|WEB-DL|DVD-R|BLURAY|BDSCR|PDTV|SDTV|HDTV, encoding=DivX|XviD|x264|x265|h264, resolution=SD|720p|1080p|2160p, dub=DUBBED|AC3|LD|MD, language=MULTI|FRENCH|TRUEFRENCH|VFQ|VOSTFR|PERIAN|...).

          Pour l'instant, il y'a un cron qui tourne sur le docker tout les jours à 17h, c'est prévu de pouvoir modifier le cron.

          PS : Si jamais vous testez l'image Docker, n'hésitez pas à la mettre à jour régulièrement, je suis encore dans une phase de développement, je push souvent des fix et des améliorations, plus tard je versionnerais correctement, quand ce sera stable.

          Je confirme ce soir que tout fonctionne bien en watchlist 🙂 GJ pour le boulot, très léger (Watcher3 pompe 160Mo de RAM et Sensorr à peine plus de 100).
          Précision pour ceux qui auraient des enfants, via l'API TMDB, les dernières recommandations (le Discover du bas) comprennent des films érotiques (genre M6 dans les années 90, y'a plus hard de nos jours mais sachez-le).

          Petite mise à jour, je viens d'ajouter un filtre rapide sur l'état d'un film dans la collection :

          Filtre "wished"

          Pour les films érotiques dans la Discover je veux bien que tu me donnes un exemple, j'ai pas réussi à trouver de paramètre adult dans l'API de TMDB. J'essayerais de filtrer sur le genre, je ne pense pas qu'il y ait un intérêt à les afficher

          Si vous avez des suggestions, n'hésitez pas, et pour des bugs, passez plutôt par une issue GitHub, ça me permettra d'avoir un meilleur suivi

          Edit :
          Première release publiée (0.2.0) 🎉

          12 jours plus tard

          Petite question toute bête 😉
          Si je veux l'installer sur mon serveur Debian sans utiliser Docker c'est possible ou le mieux c'est de passer via Docker ?

            vivalemuc

            Nop pas de soucis ! Juste ces commandes et ça devrait le faire :

            git clone https://github.com/thcolin/sensorr.git
            cd sensorr
            npm i -g pm2
            npm i
            npm run start

            Et pour mettre à jour :

            git pull
            npm i
            npm run start

              Merci pour ta réponse, je tente ce soir 😉

              Du coup possibilité de mettre une règle sur nginx pour avoir une URL du type domain.fr/sensorr ou seulement accessible via domain.fr:50700 ?

              Ça a l'air vraiment pas mal 😉 Et étant dev (mobile et un peu react) je pourrais regarder le code au cas où 😜

              Je viens d'essayer et j'obtiens une erreur, je te laisse regader sur GitHub 😉
              Je suis disponible toute la soirée pour tester si tu veux 😉

              Je viens de configurer Jackett avec YGGTorrent, mais il ne me trouve absolument rien dans les résultats :/

              Sachant que dans Jackett, j'arrive à faire les resultats 😉

              J'ai commencé à tester ça. Est-ce qu'il est prévu une communication avec rtorrent en scgi ? Je joue beaucoup avec les labels, et le blackhole ne permet pas de faire ce que je veux

                hydrog3n
                Je différencie le build de l’exécution du bundle de prod

                Merrick
                Non, je pense rester uniquement sur l'idée de blackhole pour garder le projet le plus simple possible

                  thcolin Je suis d'accord de différencier la commande mais alors pourquoi tu peux pas run le bundle sans le générer ?
                  J'aurais fait
                  "prod": "npm run build && pm2 blabla"

                    hydrog3n
                    Parce que je ne veux pas obligatoirement rebuild à chaque fois que je lance le serveur et qu'il est nécessaire que l'application React soit transpilé en ES5 pour les navigateurs ne supportant pas l'ES6

                    Edit: J'ai finalement ajouté un script start qui lance les scripts build et prod

                    3 mois plus tard

                    👋 Une nouvelle feature de disponible, vous pouvez maintenant suivre des stars et avoir une vue sous forme de calendrier des futurs sorties cinématographique !

                    Upcoming

                    Pas mal de petits fix et de refactorisation au passage, l'interface est maintenant fluide même avec un grand nombre de logs ou de films !

                    un mois plus tard

                    Hello, petit post pour vous avertir que j'ai intégré Plex à Sensorr, vous pouvez maintenant connecter votre serveur Plex et ainsi éviter de télécharger des releases en doublons. Il y a un cron qui passe toutes les nuits à 01h00 et qui va simplement considérer tout les films disponible sur le serveur Plex comme "archived" dans Sensorr.

                    Sensorr - Plex

                    J'avance aussi sur l'amélioration des filtres, ce qui devrait me permettre à terme de proposer une fonctionnalité de gestion de la bibliothèque plus poussée, comme CouchPotato, et ainsi remplacer des releases existante par de "meilleurs" selon les critère définis.

                    Sensorr - Policy

                    (L'amélioration des filtres devrait pas tarder, pour la gestion de la bibliothèque à la CouchPotato il faudra attendre, j'en suis qu'à la réflexion)

                      Biik

                      Quelle version de NodeJS utilise tu ? Il faut une version >= 8 si je ne me trompe pas

                      2 mois plus tard

                      Salut à tous, merci pour ce boulot énorme.
                      Est ce que par hasard un QPKG pour Qnap est enviageable ? Car je suis une bille et je n'arrive à l'installer en Docker 🙁
                      L'installation ce fait mais rien quand je pointe sur l'adresse. Le port c'est bien 5070 ?
                      Un petit coup de main serait cool de votre part 🙂 Thanks
                      Voici ce que me sors le log de container :

                      bonjour , moi je peux t'aider , si tu veux, a t’installer en docker "Sensorr" en pv.

                        Depuis le nouveau cms (moteur de forum ), je viens de me rendre compte, je ne sais pas comment on discute en message privée.

                        au pire , tu viens sur le tchat et je t'attend !

                        une premiere pour moi j'arrive

                        Y'a plus de PV sur Flarum. BRAVO pour Sensorr, que j'utilise avec plaisir ! Quelles évolutions en si peu de temps 🙂 Le seul bémol est qu'on ne peut pas (ou j'ai mal cherché ?) le piloter depuis Android/une extension de navigateur (mais c'est "bonus").

                        Hello, j'en profite pour annoncer qu'une refonte de Sensorr est prévu, n'étant pas satisfait de certaines technos que j'ai utilisé, je vous tiendrais au courant dés que j'aurais mis tout ça au clair dans ma tête !

                        @Aerya, qu'entends tu par piloter par une extension de navigateur ? Je réfléchis aussi à adapter le design en responsive, je ne sais pas si il y aurait une utilité à faire une application native, qu'en pensez-vous ? Par contre c'est possible que je fasse une PWA (site web "installable" comme une application native)

                          Je pensais à une extension permettant d'ajouter une recherche depuis une page Web. Typiquement IMBD/AC comme par exemple on peut le faire avec Radarr. C'est mon côté flemmard qui ressort 😛
                          Sinon ça tourne au poil, c'est très léger et ça va à l'essentiel, ton boulot me plaît beaucoup. Encore merci 🙂

                            Aerya Ah, pas bête l'extension navigateur, en effet ! Je garde ça de coté, ce n'est pas trop compliqué en soit ! Et merci à toi pour tes articles de blog, c'est comme ça que j'ai découvert tout le monde Radarr, CouchPotata, etc.. !