├── README.md └── assets ├── jellyfin.svg ├── mynetflix.png ├── portainerlogo.png └── transmission.png /README.md: -------------------------------------------------------------------------------- 1 | ![](assets/mynetflix.png) 2 | 3 | # Workshop MyNetflix part. 1 4 | 5 | #### *Ce workshop a pour but de vous familiariser avec Docker et Portainer en mettant en place un serveur Jellyfin pour pouvoir visionner des medias téléchargés au préalable grâce à un Docker transmission.* 6 | 7 | ### **N'hésitez pas à star ⭐ ce repo si vous avez aimé le workshop!** ![](https://img.shields.io/github/stars/ajnart/mynetflix-part1?label=%E2%AD%90&style=for-the-badge?branch=master&kill_cache=1") 8 | 9 | Ce workshop est divisé en deux parties: 10 | 1️⃣ La première concerne l'installation d'un conteneur Docker portainer; le déploiement d'un serveur de distribution de média Jellyfin et le déploiement d'une interface de téléchargement de torrents grâce à Transmission. 11 | 12 | 2️⃣ La seconde partie concerne la mise en place d'un "stack" via Dokcer-compose pour voir monter de dé-monter facilement tout nos conteneurs en une seule commande et l'installation de **sonarr/radarr/jackett** pour automatiser le téléchargement de nos médias. 13 | 14 | >Si vous voulez prendre économiser un peu de temps, vous pouvez pré-télécharger les images que nous allons utiliser grâce aux commandes: 15 | 16 | ``docker pull linuxserver/jellyfin`` 17 | ``docker pull linuxserver/transmission`` 18 | 19 | ## Partie 1 : Portainer et Jellyfin 20 | ### 1 - Portainer 21 | 22 | 23 | **Portainer** est un outil de gestion de conteneur Docker et/ou de Kubernetes. Nous allons l'utiliser pour gérer les conteneurs que nous allons créer dans le futur. 24 | 25 | Tout d'abord, installez portainer en suivant le [portainer quick start](https://documentation.portainer.io/v2.0/deploy/ceinstalldocker/) 26 | 27 | Ensuite, rendez vous [localhost:9000](http://localhost:9000) (ou le port que vous avez spécifié.) 28 | 29 | Choisissez un mot de passe administrateur et sélectionnez l'utilisation **locale**. 30 | 31 | ✨ **Voilà !** ✨Vous avez maintenant une installation fonctionelle de portainer. 🐋 32 | 33 | ### Création d'un conteneur via l'interface portainer 34 | #### Jellyfin 35 | 36 | 37 | Nous allons mainteannt procéder à l'installation de **jellyfin** 38 | 39 | Rendez-vous dans la section "Containers" de portainer ![](assets/containers.png) 40 | et cliquez sur "Add a container", saisissez bien l'image en haut de form, et descendez ensuite vers "Volumes" pour créer les volumes/binds de votre contenur. 41 | 42 | 43 | Vous pouvez créer un volume pour stocker vos données (Portainer -> Volumes -> Create) 44 | ou utiliser un bind qui attribuera un dossier dans le conteneur a un dossier en local. (une passerelle) 45 | 46 | **N'oubliez pas d'ouvrir le port 8096 en UDP via "bind a port" sur l'interface Portainer** 47 | 48 | 49 | | Local port | Container port | 50 | |--------------|----------------| 51 | | 8096 | 8096 | 52 | 53 | 54 | Vous pouvez aussi spécifier des variables d'environnment (TimeZone, UserGroup, ...) 55 | 56 | Pour savoir quelles variables d'environnement utiliser, utilisez la [page wiki linuxserver jellyfin](https://hub.docker.com/r/linuxserver/jellyfin) 57 | 58 | **Une fois cette configuration terminée**, cliquez sur "Deploy this container" pour créer le conteneur Jellyfin! 59 | 60 | 61 | Un exemple de volumes pour ma configuration: 62 | Içi, notez que je définis des chemins dans le conteneurs qui pointent (bind) vers des chemins locaux, pour que le conteneur ait accès à certains fichiers en local. 63 | 64 | | Container path | Local pat | Type 65 | |----------------------|----------------------------------------|------ 66 | | /config | /home/pi/.config/server/jellyfin | Bind 67 | | /tv | /home/pi/media/tv | Bind 68 | | /movies | /home/pi/media/movies | Bind 69 | 70 | Si vous ne savez pas quoi remplir, ne vous en faites pas. Portainer laisse la possibilité de modifier un conteneur existant. 71 | 72 | Lancez maintenant Jellyfin et rendez-vous sur [localhost:8096](http://localhost:8096) pour configurer la configuration de jellyfin. Créez un compte et ajoutez vos dossiers media dans la librairie jellyfin. 73 | Vous pouvez maintenant rajouter du contenu en local pour tester que jellyfin fonctionne correctement. 74 | 75 | ## Partie 2 - Transmission Web Interface 76 | ### Nous allons maintenant nous intéressés à la partie téléchargement des medias, qui seront ensuite automatiquement ajoutés dans jellyfin. 77 | 78 | 79 | 80 | Déployez un conteneur Dokcer transmission avec l'image [transmission linuxserver](https://hub.docker.com/r/linuxserver/transmission) 81 | 82 | **⚠N'oubliez pas de publier le port 9091 pour avoir accès au WebUI (interface de téléchargement)** 83 | 84 | **⚠ N'oubliez pas de rajouter vos binds / volumes médias dans la config du contenur. Sinon vous n'aurez pas d'endroit où stocker vos torrents.** 85 | 86 | Si tout c'est bien passé, vous deviez maintenant être en mesure d'ajouter des torrents qui, une fois téléchargés, seront automatiquement intégrés à Jellyfin. 87 | 88 | Pour faciliter le travail de jellyfin, il serait intélligent de déplacer les torrents par type et par état (en cours / terminés.) 89 | 90 | ## Conclusion 91 | 92 | ### 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 😉 93 | 94 | ### Aller plus loin: 95 | 96 | Intéger transmission à votre navigateur: [addon chrome](https://chrome.google.com/webstore/detail/transmission-easy-client/cmkphjiphbjkffbcbnjiaidnjhahnned?hl=en) 97 | -------------------------------------------------------------------------------- /assets/jellyfin.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | -------------------------------------------------------------------------------- /assets/mynetflix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajnart/mynetflix-part1/308bf9bcfa37aee48f002a23426ae6325298b38c/assets/mynetflix.png -------------------------------------------------------------------------------- /assets/portainerlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajnart/mynetflix-part1/308bf9bcfa37aee48f002a23426ae6325298b38c/assets/portainerlogo.png -------------------------------------------------------------------------------- /assets/transmission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajnart/mynetflix-part1/308bf9bcfa37aee48f002a23426ae6325298b38c/assets/transmission.png --------------------------------------------------------------------------------