Bienvenue dans le dépôt All-jellyfin-media-server ! Ce dépôt contient tout ce dont vous avez besoin pour créer votre propre serveur média Jellyfin avec Sonarr, Radarr, Jellyseerr, Prowlarr, Jackett, qBittorrent et Gluetun (VPN) dans une configuration Docker Compose. Nous désignerons l’ensemble de ces conteneurs sous le nom Isyrr pour simplifier.
[!NOTE] Access the repository in English
Ce dépôt vous permet de créer votre propre serveur média Jellyfin avec tous les outils nécessaires pour gérer vos films, séries TV, musique et eBooks. Il inclut également des outils pour automatiser le téléchargement de nouveaux contenus et protéger votre confidentialité grâce à un VPN.
Isyrr utilise Docker et Docker Compose pour déployer les services. Les fichiers Docker Compose se trouvent dans les répertoires avec-vpn et sans-vpn.
[!IMPORTANT]
Pour utiliser Docker Compose, assurez-vous que Docker est installé sur votre système.
Jellyfin est un logiciel de serveur multimédia open-source qui vous permet de diffuser vos films, séries TV, musique et eBooks sur tous vos appareils. Il est compatible avec de nombreux types de fichiers multimédia et prend en charge le streaming vers divers appareils.
Jellyseerr est une application open-source qui vous permet d’automatiser la gestion de votre serveur multimédia Jellyfin. Elle fonctionne en surveillant votre bibliothèque Jellyfin et en recherchant et téléchargeant automatiquement de nouveaux contenus en fonction de vos préférences. Jellyseerr prend en charge l’intégration avec divers autres outils, tels que Sonarr et Radarr, pour offrir une expérience fluide dans la gestion de votre collection multimédia.
Sonarr est un logiciel de gestion de séries TV qui vous permet de rechercher, télécharger et gérer automatiquement vos séries TV préférées. Il fonctionne avec de nombreux types de trackers et de clients torrent et prend en charge le téléchargement automatique de sous-titres.
Radarr est un logiciel de gestion de films qui vous permet de rechercher, télécharger et gérer automatiquement vos films préférés. Il fonctionne avec de nombreux types de trackers et de clients torrent et prend en charge le téléchargement automatique de sous-titres.
Jackett est un logiciel proxy pour les trackers torrent qui vous permet de rechercher des fichiers torrent sur de nombreux trackers depuis un seul endroit. Il fonctionne avec de nombreux types de clients torrent et prend en charge l’authentification ainsi que la recherche avancée.
Flaresolverr est un logiciel open-source qui vous permet de contourner les restrictions de streaming sur les sites de partage de vidéos. Il fonctionne en résolvant les liens de streaming et en contournant les blocages géographiques et les restrictions de lecture.
Prowlarr est un logiciel de gestion des téléchargements qui vous permet de rechercher et de télécharger automatiquement des fichiers provenant de diverses sources, y compris des trackers torrent, des newsgroups et des sites de téléchargement direct.
qBittorrent est un logiciel open-source de client BitTorrent qui vous permet de télécharger des fichiers torrent. Il est léger, facile à utiliser et prend en charge de nombreuses fonctionnalités avancées telles que la recherche de torrents intégrée, le chiffrement, la création de torrents et la prise en charge des trackers privés.
Gluetun est un logiciel open-source de client VPN qui vous permet de vous connecter à des serveurs VPN. Il est facile à utiliser et prend en charge de nombreuses fonctionnalités avancées telles que le transfert de port, la protection contre les fuites DNS et la prise en charge de plusieurs protocoles VPN.
[!NOTE]
Ce service nécessite une machine avec au moins 4 cœurs de CPU et 8 Go de RAM. Il est également fortement recommandé d’avoir une carte graphique NVIDIA pour des performances optimales.
La première chose à faire est de mettre à jour votre système :
sudo apt update && sudo apt upgrade
Pour installer Docker sur votre système, utilisez les commandes suivantes :
Téléchargez le script avec cette commande :
curl -fsSL https://get.docker.com -o get-docker.sh
Puis exécutez le script avec cette commande :
sh get-docker.sh
[!TIP] Je recommande de donner les droits d’administration Docker à votre utilisateur :
usermod -aG docker <user>
Après cette commande, déconnectez-vous et reconnectez-vous.
Pour utiliser Docker Compose avec ce dépôt, vous devez d’abord choisir si vous souhaitez utiliser la version avec VPN ou sans VPN. Ensuite, naviguez vers le répertoire correspondant (avec-vpn ou sans-vpn) et exécutez la commande suivante :
docker-compose up -d
Pour arrêter la stack :
docker-compose down
[!WARNING]
Veuillez noter qu’en raison des mises à jour récentes de Debian 12 et de Proxmox, les pilotes NVIDIA sont devenus instables. Par conséquent, il existe deux méthodes pour installer les pilotes.
Pour mon serveur, il possède une carte graphique NVIDIA GeForce 1060. Le système d’exploitation installé est Proxmox 8.1.10, basé sur Debian 12. Si vous devez vérifier la compatibilité, consultez le matrice de support NVIDIA.
Rendez-vous sur le site web de NVIDIA et sélectionnez votre carte graphique. Voici un exemple :
Copiez le lien de téléchargement pour le pilote, vous devriez obtenir un lien qui ressemble à ceci :
https://us.download.nvidia.com/XFree86/Linux-x86_64/550.127.05/NVIDIA-Linux-x86_64-550.127.05.run
Mettez à jour et améliorez votre système pour vous assurer que tous les paquets sont à jour.
apt update
apt upgrade
Téléchargez le pilote NVIDIA requis.
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/550.127.05/NVIDIA-Linux-x86_64-550.127.05.run
chmod u+x NVIDIA-Linux-x86_64-550.127.05.run
Ajoutez la clé GPG et configurez le dépôt pour les outils de conteneur NVIDIA.
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
Mettez à jour les dépôts et installez les packages nécessaires pour la compilation.
apt update
apt install pve-headers gcc make
Installez le pilote NVIDIA téléchargé en utilisant le chemin source du noyau.
./NVIDIA-Linux-x86_64-550.127.05.run --kernel-source-path /usr/src/linux-headers-6.8.12-3-pve/
Installez le NVIDIA Container Toolkit et configurez-le pour Docker.
apt install nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker
Éditez le fichier de configuration Docker pour configurer le runtime et le chemin des données.
nano /etc/docker/daemon.json
Ajoutez le contenu suivant :
{
"data-root": "/<YOUR_PATH>/docker",
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
}
}
Votre environnement est maintenant prêt à exécuter des conteneurs Docker avec le support GPU NVIDIA.
Assurez-vous que le GPU est correctement détecté :
root@pve:~#nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A |
| N/A 47C P8 9W / 78W | 1MiB / 3072MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
[!WARNING]
Cette méthode est obsolète car elle peut provoquer d’importants conflits si vous mettez fréquemment à jour votre serveur.
/etc/apt/sources.list
doit ressembler à ceci :
```bash
deb http://ftp.debian.org/debian bookworm main contrib
deb http://ftp.debian.org/debian bookworm-updates main contribdeb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
deb http://security.debian.org/debian-security bookworm-security main contrib
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
Et :
```bash
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
apt update
apt upgrade
Uniquement pour l’environnement Proxmox :
apt install pve-headers
Ensuite :
apt install libnvidia-cfg1 nvidia-kernel-source nvidia-kernel-common nvidia-driver nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker
Éditez le fichier de configuration Docker pour configurer le runtime et le chemin des données.
nano /etc/docker/daemon.json
Ajoutez le contenu suivant :
{
"data-root": "/<YOUR_PATH>/docker",
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
}
}
Redémarrer
Ensuite, entrez nvidia-smi, ce qui devrait afficher :
root@pve:~#nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A |
| N/A 47C P8 9W / 78W | 1MiB / 3072MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
Il pourrait y avoir des erreurs pendant l’installation ; il est préférable d’utiliser nvidia-patch :
git clone https://github.com/keylase/nvidia-patch.git
cd nvidia-patch
./patch.sh
[!CAUTION]
Si vous devez redémarrer l’installation, voici comment désinstaller les pilotes NVIDIA :apt remove nvidia-driver apt purge *nvidia* apt autoremove apt clean apt search nvidia-driver apt autoremove glx-alternative-nvidia libegl-nvidia0 libgl1-nvidia-glvnd-glx libgles-nvidia1 libgles-nvidia2 libglx-nvidia0 nvidia-alternative nvidia-detect nvidia-driver nvidia-driver-bin nvidia-driver-libs nvidia-kernel-dkms nvidia-kernel-source nvidia-open-kernel-dkms nvidia-open-kernel-source xserver-xorg-video-nvidia
Si des fichiers résiduels restent, recherchez-les en utilisant
apt search nvidia-driver
Maintenant, nous allons voir comment configurer le VPN. Personnellement, j’utiliserai ProtonVPN et NordVPN, mais vous pouvez trouver de nombreux autres fournisseurs de VPN ICI.
Tout d’abord, vous devez vous connecter au site Web de Nord VPN.
Allez sur le site de Proton VPN.
[!CAUTION]
Assurez-vous d’avoir soit téléchargé le fichier, soit copié son contenu dans un fichier texte, car certaines informations ne seront plus disponibles après avoir cliqué sur “Fermer”.
Une fois Docker lancé, vous pouvez tester votre VPN avec la commande suivante :
docker exec qbittorrent curl -s https://api.ipify.org/
# Résultat
94.101.115.63
De mon côté, cela m’affiche une adresse IP en Belgique :
Tout d’abord, clonez le dépôt :
git clone https://github.com/Morzomb/All-jellyfin-media-server.git
cd All-jellyfin-media-server/
Pour l’installation, j’ai créé uniquement trois versions du fichier docker-compose
.
Avant de procéder, rendez-vous dans le fichier .env
situé dans le répertoire compose_files/
et complétez-le avec les informations nécessaires. Ce fichier doit toujours être à la racine du fichier docker-compose
que vous allez lancer.
# BASE
COMMON_PATH=/VOTRE_CHEMIN/Isyrr
TZ=Europe/Paris
# Décommentez les lignes ci-dessous pour activer la configuration VPN correspondante
# NORD VPN
# OPENVPN_USER=nom_utilisateur # Votre nom d'utilisateur pour NordVPN
# OPENVPN_PASSWORD=mot_de_passe # Votre mot de passe pour NordVPN
# SERVER_REGIONS=Belgique # Choisissez la région du serveur (ici la Belgique)
# PROTON VPN
# ENDPOINT_IP=ADRESSE_IP_PEER # L'adresse IP du serveur VPN
# WIREGUARD_ADDR=Adresse_Interface # L'adresse de l'interface WireGuard
# ENDPOINT_PORT=51820 # Le port par défaut est 51820, mais confirmez s'il est différent
# DNS_ADDRESS=Interface_DNS # L'adresse DNS pour ProtonVPN
# PUBLIC_KEY=Clef_Publique_PEER # La clé publique de l'autre pair
# PRIVATE_KEY=Clef_Privée_Interface # Votre clé privée
[!WARNING]
Assurez-vous de décommenter et de configurer les paramètres en fonction du service VPN que vous utilisez. Cette étape est essentielle pour établir une connexion VPN correcte.
Installation standard sans VPN
ni NVIDIA
:
Pour commencer l’installation, exécutez :
cd compose_files/
docker compose -f docker-compose.yaml up -d
Installation standard avec NVIDIA
mais sans VPN
:
Pour commencer l’installation, exécutez :
cd compose_files/
docker compose -f docker-compose-nvidia.yaml up -d
[!WARNING]
Si vous utilisez cette méthode, remplissez le fichier.env
situé danscompose_files/VPN-Nvidia
.
Installation standard avec à la fois VPN
et NVIDIA
:
Pour commencer l’installation, exécutez :
cd compose_files/VPN-nvidia/
docker compose -f docker-compose-<YOUR_VPN>-vpn.yaml up -d
[!WARNING]
Si vous utilisez cette méthode, remplissez le fichier.env
situé danscompose_files/VPN
.Installation standard avec un
VPN
:
Pour commencer l’installation, exécutez :
cd compose_files/VPN/
docker compose -f docker-compose-<YOUR_VPN>-vpn.yaml up -d
Une fois les applications déployées, vous pouvez y accéder via les adresses suivantes :
[!IMPORTANT]
Remplacezlocalhost
par l’adresse IP de votre machine ou serveur distant si nécessaire.
Gluetun (Nord VPN) sera automatiquement configuré pour être utilisé avec les applications.
[!IMPORTANT]
Tous les liens contenant le nom du conteneur peuvent être remplacés par l’IP du serveur oulocalhost
. De plus, remplacez/COMMON_PATH/
par le chemin que vous avez configuré dans le fichier.env
.
admin
adminadmin
Remarque : Les identifiants par défaut peuvent avoir changé. Veuillez consulter la documentation pour les mises à jour à ce sujet. Dans la plupart des cas, l’interface Web de qBittorrent générera un mot de passe temporaire au démarrage du conteneur. Pour afficher ce mot de passe, consultez les journaux de ce conteneur avec la commande : docker logs qbittorrent
Automatique
(nécessaire pour que les chemins de sauvegarde basés sur les catégories fonctionnent)Relocaliser le torrent
Relocaliser les torrents affectés
Relocaliser les torrents affectés
/downloads
radarr
(cela correspond à la catégorie que vous configurerez plus tard dans Radarr)/downloads/radarr
sonarr
(cela doit correspondre à la catégorie configurée plus tard dans Sonarr, par défaut sonarr-tv
, mais ce guide utilise sonarr
)/downloads/sonarr
/COMMON_PATH/radarr/movies
et cliquez sur OK.qBittorrent
(ou un autre nom de votre choix)qbittorrent
admin
adminadmin
(modifiez-le si vous l’avez changé dans qBittorrent)radarr
(cela doit correspondre à la catégorie définie dans qBittorrent)Note: if entering qbittorrent as the Host does not work, try entering the IP addressinstead (ex: 192.168.x.x)
[!WARNING] Lors des nouvelles installations, Radarr peut signaler que le répertoire
/downloads/radarr
n’existe pas dans le conteneur (cela est généralement indiqué comme une erreur par Radarr dans Système > Statut).Pour corriger cela, accédez simplement au répertoire
/COMMON_PATH/qbittorrent/downloads
et créez manuellement le dossier radarr. Ensuite, supprimez qBittorrent de Radarr et ajoutez-le à nouveau, l’erreur devrait disparaître.Indexer Jackett (Optionnelle)
Torznab
(ou un autre nom de votre choix)http://Jackett:9117/api/v2.0/indexers/YOUR_INDEXERS/results/torznab/
/COMMON_PATH/sonarr/tv
, puis cliquez sur OK.Remarque : si l’utilisation de qbittorrent
comme hôte ne fonctionne pas, essayez d’entrer l’adresse IP à la place (ex :192.168.x.x
)
qBittorrent
(ou un autre nom de votre choix)qbittorrent
admin
adminadmin
(modifiez-le si vous l’avez changé dans qBittorrent)sonarr
(cela doit correspondre à la catégorie définie dans qBittorrent)Torznab
(ou un autre nom de votre choix)http://Jackett:9117/api/v2.0/indexers/YOUR_INDEXERS/results/torznab/
FlareSolverr
flaresolverr
http://flaresolverr:8191/
Synchronisation complète
http://prowlarr:9696
http://radarr:7878
Synchronisation complète
http://prowlarr:9696
http://sonarr:8989
/COMMON_PATH/radarr/movies
/COMMON_PATH/sonarr/tv
Une fois connecté, si vous avez déjà du contenu dans vos dossiers /COMMON_PATH/*
, il devrait commencer à apparaître dans Jellyfin. Sinon, le contenu sera ajouté au fur et à mesure que les dossiers se remplissent.
Si vous souhaitez que d’autres utilisateurs aient accès à votre serveur Jellyfin, vous pouvez créer des comptes utilisateurs supplémentaires. Cette étape est optionnelle si vous êtes le seul utilisateur.
<nom_utilisateur>
<mot_de_passe>
http://jellyfin:8096/
<votre adresse email>
<votre nom d'utilisateur Jellyfin>
<votre mot de passe Jellyfin>
Radarr
http://radarr
7878
Sonarr
http://sonarr
8989
Pour mettre à jour les applications, vous devez d’abord arrêter les conteneurs en cours d’exécution et supprimer les images Docker existantes. Vous pouvez utiliser les commandes suivantes pour effectuer ces opérations :
docker-compose down
docker image prune -a
Ensuite, vous pouvez exécuter docker-compose up -d
pour redémarrer les conteneurs avec les dernières versions des applications.
Ce code est fourni à titre informatif uniquement et ne doit pas être utilisé pour des activités illégales. Je ne suis pas responsable des actions effectuées par les utilisateurs de ce code. Ce code est à des fins informatives, et si les gens souhaitent l’utiliser, ils doivent consulter les lois de leurs pays.