From 1b011dbf1275c8c2164a980f3be4cd35a94af627 Mon Sep 17 00:00:00 2001 From: NightPumpkin Date: Sun, 29 Aug 2021 18:44:50 +0200 Subject: [PATCH] Add Jellyfin-Emby --- docker-compose/jellyfin-embystat/.env | 6 + .../jellyfin-embystat/docker-compose.yml | 100 +++++++-------- docker-compose/jellyfin-embystat/readme.md | 117 ++++++++++++++++++ 3 files changed, 167 insertions(+), 56 deletions(-) create mode 100644 docker-compose/jellyfin-embystat/.env create mode 100644 docker-compose/jellyfin-embystat/readme.md diff --git a/docker-compose/jellyfin-embystat/.env b/docker-compose/jellyfin-embystat/.env new file mode 100644 index 0000000..87cd764 --- /dev/null +++ b/docker-compose/jellyfin-embystat/.env @@ -0,0 +1,6 @@ +PUID=1000 +PGID=100 +TZ=Europe/Paris + +RACINE=/volume1/docker +DATA=/volume1/data \ No newline at end of file diff --git a/docker-compose/jellyfin-embystat/docker-compose.yml b/docker-compose/jellyfin-embystat/docker-compose.yml index 81a0cb3..b204bf5 100644 --- a/docker-compose/jellyfin-embystat/docker-compose.yml +++ b/docker-compose/jellyfin-embystat/docker-compose.yml @@ -1,56 +1,44 @@ -## Discord Plex FR : https://discord.gg/3gtABCH -## Version 2021-08-23 -version: '2.1' - -services: - jellyfin: - image: ghcr.io/linuxserver/jellyfin - container_name: jellyfin -# Decommenter les 2 lignes suivantes pour que watchtower surveille ce conteneur -# labels: -# - com.centurylinklabs.watchtower.enable=true - environment: - - PUID=1000 # Utiliser la commande (en SSH) : id NOM_UTILISATEUR - - PGID=100 # Utiliser la commande (en SSH) : id NOM_UTILISATEUR - - TZ=Europe/Paris -# Utiliser la commande suivant pour limiter l'usage de la RAM -# mem_limit: 4096M -# Decommenter les 2 lignes suivantes pour activer le transcodage matériel iGPU( si NAS/serveur compatible ) -# devices: -# - /dev/dri:/dev/dri -# Network conseillé de ne pas utiliser host (pas de redirection de port) ni default_bridge car limité a 16 ip - networks: - - 'jellyfin_network' #si modification changer la ligne 45 - ports: - - 8096:8096 # WebUI - volumes: - - /volume1/docker/jellyfin/config:/config - - /volume1/media/music:/data/music - - /volume1/media/movies:/data/movies - - /volume1/media/tvshow:/data/tvshow - restart: unless-stopped - - embystat: - image: ghcr.io/linuxserver/embystat - container_name: embystat -# Decommenter les 2 lignes suivantes pour que watchtower surveille ce conteneur -# labels: -# - com.centurylinklabs.watchtower.enable=true - environment: - - PUID=1000 # Utiliser la commande (en SSH) : id NOM_UTILISATEUR - - PGID=100 # Utiliser la commande (en SSH) : id NOM_UTILISATEUR - - TZ=Europe/Paris -# Network conseillé de ne pas utiliser host (pas de redirection de port) ni default_bridge car limité a 16 ip - networks: - - 'jellyfin_network' #si modification de la ligne 23 - volumes: - - /volume1/docker/embystat/config:/config - ports: - - 6555:6555 # WebUI - restart: unless-stopped - -networks: - jellyfin_network: - external: -# Network conseillé de ne pas utiliser host (pas de redirection de port) ni default_bridge car limité a 16 ip - name: 'jellyfin_network' #si modification de la ligne 23 et 45 +version: '2.1' + +services: + jellyfin: + image: ghcr.io/linuxserver/jellyfin + container_name: jellyfin +# labels: +# - com.centurylinklabs.watchtower.enable=true + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} +# devices: +# - /dev/dri:/dev/dri + networks: + - jellyfin_embystat_network + ports: + - 8096:8096 + volumes: + - ${RACINE}/jellyfin/config:/config + - ${DATA}/jellyfin/config:/data + restart: unless-stopped + + embystat: + image: ghcr.io/linuxserver/embystat + container_name: embystat +# labels: +# - com.centurylinklabs.watchtower.enable=true + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + networks: + - jellyfin_embystat_network + volumes: + - ${RACINE}/embystat/config:/config + ports: + - 6555:6555 + restart: unless-stopped + +networks: + jellyfin_embystat_network: + external: + name: jellyfin_embystat_network \ No newline at end of file diff --git a/docker-compose/jellyfin-embystat/readme.md b/docker-compose/jellyfin-embystat/readme.md new file mode 100644 index 0000000..62989eb --- /dev/null +++ b/docker-compose/jellyfin-embystat/readme.md @@ -0,0 +1,117 @@ +Installation de la stack "Jellyfin-EmbyStat" +============ + +Bienvenue sur mon nouveau tutoriel. Celui-ci, je l'espere va vous apprendre à installer Jellyfin et EmbyStat simplement via docker. + +Cette stack docker-compose contient les logiciels suivants : +| Nom du service | Site Officiel | Dépot utilisé* | +| ------ | ------ | ------ | +| Jellyfin | | | +| EmbyStat | | | + +## Table des matières +- 1. [Prérequis](#1-prérequis) + - 1.a [Création des dossiers](#1-a-création-des-dossiers) + - 1.b [Modifications du .env](#1-b-modifications-du-env) + - 1.c [Transfert des fichiers dans /jellyfin_embystat](#1-c-transfert-des-fichiers-dans-jellyfin-embystat) +- 2. [Création des conteneurs](#2-création-des-conteneurs) + - 2.a [Création du réseau](#2-a-création-du-réseau) + - 2.b [Création des conteneurs](#2-b-création-des-conteneurs) +- 3. [Les Bases](#3-les-bases) + - 3.a [Commandes de bases ( Docker )](#3-a-commandes-de-bases-docker) + - 3.b [Accès aux interfaces ( WebUI )](#3-b-accès-aux-interfaces-webui) +- 4. Dépannage ( Ce construira au fur et a mesure des questions ) + +## 1. Prérequis + +- Cette stack est concu pour fonctionner dans un dossier `jellyfin_embystat`, avec l'architecture suivante : +``` +jellyfin_embystat ---- jellyfin ------- config + | + |-- embystat ------- config +``` + +- Dans le paragraphe 1.a nous allons les créer avec une ligne de commande, et dans le paragraphe 1.b nous allons modifier le .env afin qu'il utilise bien ces dossiers ( en fonction de leurs localisation sur votre machine ). + +### 1.a. Création des dossiers + +- Avec `cd` aller dans le dossier de votre choix, par exemple "docker". +Exemple : Si votre dossier "docker" ce trouve dans /volume1, alors la commande sera : +`cd /volume1/docker` + +- Maintenant que nous sommes dans le bon dossier, nous allons executer la commande suivante pour créer d'un coup, toute l'architecture nécessaire : + +`mkdir -p jellyfin_embystat/jellyfin/config jellyfin_embystat/embystat/config` + +### 1.b. Modifications des .env +- Récupérer sur votre machine les fichiers [.env](https://gitea.zoz-serv.org/Zoz/plex_fr_discord_repo/src/branch/master/docker-compose/jellyfin-embystat/.env) et [docker-compose.yml](https://gitea.zoz-serv.org/Zoz/plex_fr_discord_repo/src/branch/master/docker-compose/jellyfin-embystat/docker-compose.yml). + +> Vous pouvez faire un clic droit - Enregistrer sous ... sur les liens ci-dessus pour télécharger les fichiers. + +- Dans le fichier `.env` vous allez devoir modifier plusieurs chose : + +**PUID et PGID** devront correspondre aux ID de votre utilisateurs, plus d'info ici : [Connaitre le PUID / PGID d'un utilisateur](https://www.forum-nas.fr/viewtopic.php?f=56&t=13213) + +**RACINE** correspond au chemin vers le dossier jellyfin_embystat créé a l'étape 1.a. +Dans ce cas, c'est : `/volume1/docker/jellyfin_embystat` + +**DATA** correspond au chemin vers votre dossiers de médias. +Dans ce cas, c'est : `/volume1/data` + + +### 1.c Transfert des fichiers dans /jellyfin_embystat +- Une fois les modifications effectuées, il faut transfert tous les fichiers ( .env et docker-compose.yml ) dans le dossier `/jellyfin_embystat` précédemment créé ! Par exemple, avec FileZilla. + +## 2. Création des conteneurs +### 2.a Création du réseau +- On créé le reseau `jellyfin_embystat_network` necesaire au fonctionnement du conteneurs VPN : + +``` +docker network create jellyfin_embystat_network +``` + +### 2.b Création des conteneurs +Maintenant que votre "stack" est prete rendez-vous dans le dossier `jellyfin_embystat`, dans mon cas `/volume1/docker/jellyfin_embystat` : +``` +cd /volume1/docker/jellyfin_embystat +``` + +## 3. Les Bases +Il est possible d'utilise n'importe qu'elle interface de gestion de conteneur*, ou SSH. + +Voici quelques commandes de base : + +**[Portainer](https://www.forum-nas.fr/viewtopic.php?f=56&t=14030) par exemple.* + +### 3.a Commandes de bases ( Docker ) +- Arreter un conteneur : `docker stop ` +Exemple pour le conteneur **jellyfin** : `docker stop jellyfin` + +- Redémarrer un conteneur : `docker restart ` +Exemple pour le conteneur **jellyfin** : `docker restart jellyfin` + +- Démarrer un conteneur : `docker start ` +Exemple pour le conteneur **jellyfin** : `docker start jellyfin` + +- Supprimer un conteneur : `docker rm ` +Exemple pour le conteneur **jellyfin** : `docker rm jellyfin` + +- Créer / Mettre à jour la "stack" : `docker-compose up -d` +Cette commande permet de créer la stack présent dans le fichier docker-compose.yml, les conteneurs non-existant seront créés, les modifiés seront mis à jour. +> Note : Vous devez etre dans la dossier contenant le fichier docker-compose.yml pour que cette commande fonctionne. + +### 3.b Accès aux interfaces ( WebUI ) + +- L'acces à chaque service se fait via une WebUI ( Interface Web ), sur un port quil lui est propre. +- Pour Jellyfin, c'est le port `8096`. Donc l'adresse sera sous la forme : `http://IP_DE_LA_MACHINE:8096` +Exemple : Si l'adresse IP de votre machine est `192.168.1.10`, alors l'adresse d'accès sera : `http://192.168.1.10:8096` + +- Ci-dessus la liste des ports des interfaces de chaque service : +| Service | Port | +| ------ | ------ | +| Jellyfin | 8096 | +| EmbyStat | 6555 | + +## 6. Dépannage +A VENIR ... +