├── README.md
└── assets
├── jellyfin.svg
├── mynetflix.png
├── portainerlogo.png
└── transmission.png
/README.md:
--------------------------------------------------------------------------------
1 | 
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!** 
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 
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
--------------------------------------------------------------------------------