Merge pull request 'Stack Jellyfin + EmbyStat' (#116) from evo-jellyfin-embystat into master

Reviewed-on: #116
This commit is contained in:
NightPumpkin 2021-08-29 21:44:36 +02:00
commit 75ef373a2f
3 changed files with 139 additions and 26 deletions

View File

@ -0,0 +1,6 @@
PUID=1000
PGID=100
TZ=Europe/Paris
RACINE=/volume1/docker
DATA=/volume1/data

View File

@ -1,56 +1,46 @@
## Discord Plex FR : https://discord.gg/3gtABCH
## Version 2021-08-23
## Version 2021-08-29
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 )
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
# 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
- jellyfin_embystat_network
ports:
- 8096:8096 # WebUI
- 8096:8096
volumes:
- /volume1/docker/jellyfin/config:/config
- /volume1/media/music:/data/music
- /volume1/media/movies:/data/movies
- /volume1/media/tvshow:/data/tvshow
- ${RACINE}/jellyfin/config:/config
- ${DATA}/jellyfin/config:/data
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
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
networks:
- 'jellyfin_network' #si modification de la ligne 23
- jellyfin_embystat_network
volumes:
- /volume1/docker/embystat/config:/config
- ${RACINE}/embystat/config:/config
ports:
- 6555:6555 # WebUI
- 6555:6555
restart: unless-stopped
networks:
jellyfin_network:
jellyfin_embystat_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
name: jellyfin_embystat_network

View File

@ -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 | [Jellyfin](https://jellyfin.org/) | [Linuxserver](https://github.com/linuxserver/docker-jellyfin) |
| EmbyStat | [EmbyStat](https://github.com/mregni/EmbyStat) | [Linuxserver](https://github.com/linuxserver/docker-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 <nom_du_conteneur>`
Exemple pour le conteneur **jellyfin** : `docker stop jellyfin`
- Redémarrer un conteneur : `docker restart <nom_du_conteneur>`
Exemple pour le conteneur **jellyfin** : `docker restart jellyfin`
- Démarrer un conteneur : `docker start <nom_du_conteneur>`
Exemple pour le conteneur **jellyfin** : `docker start jellyfin`
- Supprimer un conteneur : `docker rm <nom_du_conteneur>`
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 ...