Code Monkey home page Code Monkey logo

mynetflix's Introduction

MyNetflix

Ce projet a pour but de vous apprendre à automatiser le téléchargement de séries / films dès leur sortie et d'y avoir accès en local ou depuis internet. Un peu comme Netflix.

N'hésitez pas à star ⭐ ce repo si le projet vous plaît !

Partie 1 : Docker Compose

Docker Compose est un outil qui permet de décrire (dans un fichier YAML) et gérer (en ligne de commande) plusieurs conteneurs comme un ensemble de services interconnectés.

Installez Compose si ce n'est pas déjà fait à l'aide du tuto linuxserver

Vous pouvez maintenant télécharger les images que nous allons utiliser à l'aide de docker-compose pull

Partie 2 : Configuration de docker compose

Comme vous pouvez le voir dans le fichier docker-compose.yml mis à votre disposition dans le repo, il manque des paramètres pour permettre l'exécution des conteneurs.

Pour corriger ça, mettez en place la configuration recommandée grâce aux liens suivants:

service Lien
portainer portainer
jellyfin linuxserver/jellyfin
transmission linuxserver/transmission
radarr linuxserver/radarr
sonarr linuxserver/sonarr
jackett linuxserver/jackett

Faites attention à bien renseigner des chemins / volumes valides.

Une fois que tous les services sont mis en place, vous pouvez lancer la stack grâce à docker-compose up -d

⚠ Pour allumer et éteindre la stack, utilisez les commandes docker-compose start|stop. up ne sert qu'à créer les conteneurs pour la première fois.

⚠ Dans la dernière version de portainer, le port par défaut est 9443, ils l'ont changé pour utiliser une connexion sécurisée (https) , vous pouvez choisir de garder 9443 ou alors d'ouvrir le port 9000 (legacy) pour ne pas avoir de problème de certificat SSL.

Rendez-vous ensuite sur l'interface portainer localhost:9000 pour confirmer le bon déploiement des conteneurs.

✨Voilà !✨ Vous n'avez maintenant plus qu'à configurer les services pour qu'ils fonctionnent entre eux.

Partie 3: Configuration

Nous allons maintenant configurer les services pour qu'ils communiquent entre eux.

Rendez-vous sur l'ip assignée à Jackett pour commencer. http://localhost:9117/UI/Dashboard

Appuyez sur le bouton add indexer et ajoutez le/les indexers de votre choix.

Ensuite, suivez les instructions dans "Adding a Jackett indexer in Sonarr or Radarr"

Dans le field URL sur Sonarr et Radarr, utilisez le format suivant :
http://{nom docker jackett}:{port jackett}/api/v2.0/indexers/all/results/torznab
dans mon cas: http://jackett:9117/api/v2.0/indexers/all/results/torznab Comme les dockers sont installés dans le même virtual network, on peut utiliser le hostname des conteneurs pour y accéder depuis un conteneur sur le même network

Une fois que l'indexeur est en place, rendez-vous dans la section Download Clients pour rajouter Transmission comme client de téléchargement.

Rensigner une catégorie pour faire en sorte que votre client de téléchargement n'ait pas de problème de conflits.

Rendez-vous ensuite dans Media management pour rajouter les "Root Folders" /tv ou /movies que vous avez au préalable montés dans le Docker à l'aide d'un bind/volume.

✨Voilà !✨ Vous n'avez maintenant plus qu'à ajouter des films et des séries et ils seront téléchargés et ajoutés à Jellyfin automatiquement!

Merci d'avoir suivi ce workshop ! J'espère qu'il vous à plu. Si c'est le cas n'hésitez pas à star le repo, ça fait toujours plaisir 😉

Aller plus loin:

  • Explorer les paramètres de Sonarr et Radarr pour envoyer des notifications à votre téléphone quand un épisode est téléchargé
  • Changer les paramètres de Jellyfin pour que la synchronisation s'effectue dans le contenu d'un "watched folder" change.
  • Faire en sorte que Sonarr et Radarr téléchargent en priorité des médias de type H264 pour éviter les problèmes de compatibilité avec le navigateur et donc éviter le transcodage.
  • Créer un bot telegram / discord pour envoyer des notifications quand un épisode est téléchargé
  • Importer des lites de séries / movies à l'aide de la fonction "import list" et d'une liste Trakt
  • Intégrer un VPN à votre setup à l'aide de wireguard pour pouvoir accéder à distance à Sonarr/Radarr.
  • Intéger transmission à votre navigateur: addon chrome

mynetflix's People

Contributors

ajnart avatar gdnathan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mynetflix's Issues

Recommendations

Here are some things that could be added in the README (from my experience setting up *arr stacks)

Additional tools

  • Prowlarr (manages your media sources)
  • Qbittorrent web (not really needed, prioritize NZB when possible, set your ratio to 0% in the settings, enable anonymous mode, avoid hosting, especially in France, hide your IP)
  • NZBGet (awesome tool, NZB is not really a problem in France but still, hide your IP)
  • proxybroker2 (scrape proxies from the web, also works as a proxy server which sends request through the scrapped proxies 🤯)
  • Bazarr (for subtitles)
  • Link to Nero's Black Book

Multiple hosts config

  • In my specific setup, my *arr stack and Jellyfin were located on different hosts (the requests are forwarded to my "public" host, somewhere in Germany), thus my need to port-forward them. I didn't want to expose any ports. The best (and secure) way of doing in my experience is through AutoSSH (there is an unofficial docker image, works wonder). You end up only exposing port 22 (and you can protected it further with private keys and Google 2FA).
  • I also needed to make my local disks available on the "public" host, using Samba (SMB share). Configured an fstab entry on the receiving host. Port is still hidden, but forwarded through ssh.
  • The disk used for the SMB share was actually multiple disks connected ("merged") as a single file system. I used mergerfs (through fstab for support on boot). Just remember to allow systemd to continue when the virtual drive fails, otherwise you'll have to physically go to your server location and manually reconfigure the server since sshd won't launch. This is especially annoying when your server is headless and you don't have a screen to borrow, trust me.

Useless/fun

  • UptimeKuma is an open-source uptime manager.
  • You can configure most *arr apps to send notifications (especially Discord Webhooks) when an event is triggered (such as a new episode, movie, etc...).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.