diff --git a/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/.env b/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/.env new file mode 100644 index 0000000..6d805a0 --- /dev/null +++ b/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/.env @@ -0,0 +1,9 @@ +PUID=1000 +GUID=100 +TZ=Europe/Paris + +DISPLAY_WIDTH=1280 +DISPLAY_HEIGHT=768 + +RACINE=/volume1/docker/edition-videos +STORAGE=/storage \ No newline at end of file diff --git a/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/docker-compose.yml b/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/docker-compose.yml new file mode 100644 index 0000000..a9c201e --- /dev/null +++ b/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/docker-compose.yml @@ -0,0 +1,115 @@ +## Discord Plex FR : https://discord.gg/3gtABCH +## Version 2021-08-23 +## +## Pour une aide à l'installation, consulter le README +## +version: '3' + +services: + handbrake: + image: jlesage/handbrake:latest + container_name: edition-video_handbrake +# labels: +# - com.centurylinklabs.watchtower.enable=true + networks: + - edition-videos-network + environment: + - USER_ID=${PUID} + - GROUP_ID=${PGID} + - TZ=${TZ} + - DISPLAY_WIDTH=${DISPLAY_WIDTH} + - DISPLAY_HEIGHT=${DISPLAY_HEIGHT} + ports: + - "6800:5800" + volumes: + - "${RACINE}/handbrake/config:/config:rw" + - "${RACINE}/handbrake/watch:/watch:rw" + - "${RACINE}/handbrake/output:/output:rw" + - "${STORAGE}:/storage:ro" + restart: unless-stopped + + mediainfo: + image: jlesage/mediainfo:latest + container_name: edition-video_mediainfo +# labels: +# - com.centurylinklabs.watchtower.enable=true + networks: + - edition-videos-network + environment: + - USER_ID=${PUID} + - GROUP_ID=${PGID} + - TZ=${TZ} + - DISPLAY_WIDTH=${DISPLAY_WIDTH} + - DISPLAY_HEIGHT=${DISPLAY_HEIGHT} + ports: + - 6801:5800 + volumes: + - "${RACINE}/mediainfo/config:/config:rw" + - "${STORAGE}:/storage:ro" + restart: unless-stopped + + avidemux: + image: jlesage/avidemux:latest + container_name: edition-video_avidemux +# labels: +# - com.centurylinklabs.watchtower.enable=true + networks: + - edition-videos-network + environment: + - USER_ID=${PUID} + - GROUP_ID=${PGID} + - TZ=${TZ} + - DISPLAY_WIDTH=${DISPLAY_WIDTH} + - DISPLAY_HEIGHT=${DISPLAY_HEIGHT} + ports: + - 6802:5800 + volumes: + - "${RACINE}/avidemux/config:/config:rw" + - "${STORAGE}:/storage:rw" + restart: unless-stopped + + makemkv: + image: jlesage/makemkv:latest + container_name: edition-video_makemkv +# labels: +# - com.centurylinklabs.watchtower.enable=true + networks: + - edition-videos-network + environment: + - USER_ID=${PUID} + - GROUP_ID=${PGID} + - TZ=${TZ} + - DISPLAY_WIDTH=${DISPLAY_WIDTH} + - DISPLAY_HEIGHT=${DISPLAY_HEIGHT} + ports: + - 6803:5800 + volumes: + - "${RACINE}/makemkv/config:/config:rw" + - "${RACINE}/makemkv/output:/output:rw" + - "${STORAGE}:/storage:ro" + restart: unless-stopped + + mkvtoolnix: + image: jlesage/mkvtoolnix:latest + container_name: edition-video_mkvtoolnix +# labels: +# - com.centurylinklabs.watchtower.enable=true + networks: + - edition-videos-network + environment: + - USER_ID=${PUID} + - GROUP_ID=${PGID} + - TZ=${TZ} + - DISPLAY_WIDTH=${DISPLAY_WIDTH} + - DISPLAY_HEIGHT=${DISPLAY_HEIGHT} + ports: + - 6804:5800 + volumes: + - "${RACINE}/makemkv/config:/config:rw" + - "${STORAGE}:/storage:ro" + restart: unless-stopped + +networks: + edition-videos-network: + external: + name: edition-videos-network diff --git a/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/readme.md b/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/readme.md new file mode 100644 index 0000000..d7ee4d0 --- /dev/null +++ b/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/readme.md @@ -0,0 +1,135 @@ +Installation de la stack "Édition-Vidéos" +============ + +Bienvenue sur mon nouveau tutoriel. Celui-ci, je l'espere va vous apprendre à installer Handbrake, Mediainfo, Avidemux, MakeMKV et MKVToolNix simplement via docker. + +Cette stack docker-compose contient les logiciels suivants : +| Nom du service | Site Officiel | Dépot utilisé* | +| ------ | ------ | ------ | +| Handbrake | [Handbrake.fr](https://handbrake.fr/) | [jlesage](https://github.com/jlesage/docker-handbrake) | +| Mediainfo | [MediaArea](https://mediaarea.net/fr/MediaInfo) | [jlesage](https://github.com/jlesage/docker-mediainfo) | +| Avidemux | [Fixounet](http://fixounet.free.fr/avidemux/) | [jlesage](https://github.com/jlesage/docker-avidemux) | +| MakeMKV | [GuinpinSoft](http://makemkv.com/) | [jlesage](https://github.com/jlesage/docker-makemkv) | +| MKVToolNix | [Moritz Bunkus](https://mkvtoolnix.download/) | [jlesage](https://github.com/jlesage/docker-mkvtoolnix) | + +## 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 /edition-videos](#1-c-transfert-des-fichiers-dans-edition-videos) +- 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 `edition-videos`, avec l'architecture suivante : +``` +edition-videos ---- handbrake ------- config + | |_ watch + | |_ output + | + |-- mediainfo ------ config + | + |-- avidemux ------- config + | + |-- makemkv -------- config + | |_ output + | + |-- mkvtoolnix ----- 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 edition-videos/handbrake/{config,watch,output} edition-videos/mediainfo/config edition-videos/avidemux/config edition-videos/makemkv/{config,output} edition-videos/mkvtoolnix/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/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/.env) et [docker-compose.yml](https://gitea.zoz-serv.org/Zoz/plex_fr_discord_repo/src/branch/master/docker-compose/handbrake-mediainfo-avidemux-makemkv-mkvtoolnix/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 edition-videos créé a l'étape 1.a. +Dans ce cas, c'est : `/volume1/docker/edition-videos` + +**RACINE** correspond au chemin vers votre dossiers de médias. +Dans ce cas, c'est : `/storage` + + +### 1.c Transfert des fichiers dans /edition-videos +- Une fois les modifications effectuées, il faut transfert tous les fichiers ( .env et docker-compose.yml ) dans le dossier `/edition-videos` précédemment créé ! Par exemple, avec FileZilla. + +## 2. Création des conteneurs +### 2.a Création du réseau +- On créé le reseau `edition-videos-network` necesaire au fonctionnement du conteneurs VPN : + +``` +docker network create edition-videos-network +``` + +### 2.b Création des conteneurs +Maintenant que votre "stack" est prete rendez-vous dans le dossier `edition-videos`, dans mon cas `/volume1/docker/edition-videos` : +``` +cd /volume1/docker/edition-videos +``` + +## 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 **edition-video_handbrake** : `docker stop edition-video_handbrake` + +- Redémarrer un conteneur : `docker restart ` +Exemple pour le conteneur **edition-video_handbrake** : `docker restart edition-video_handbrake` + +- Démarrer un conteneur : `docker start ` +Exemple pour le conteneur **edition-video_handbrake** : `docker start edition-video_handbrake` + +- Supprimer un conteneur : `docker rm ` +Exemple pour le conteneur **edition-video_handbrake** : `docker rm edition-video_handbrake` + +- 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 Handbrake, c'est le port `6800`. Donc l'adresse sera sous la forme : `http://IP_DE_LA_MACHINE:6800` +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:6800` + +- Ci-dessus la liste des ports des interfaces de chaque service : +| Service | Port | +| ------ | ------ | +| Handbrake | 6800 | +| Mediainfo | 6801 | +| Avidemux | 6802 | +| MakeMKV | 6803 | +| MKVToolNix | 6804 | + +## 6. Aller plus loin +- Retrouvez ici des astuces pour aller "un peu plus loin" dans la configurations de vos conteneurs, avec par exemple, la méthode pour rajouter des montages ( dossier de votre serveur dans le conteneur ), ou régler la mise à jour automatique de vos conteneurs. + +/!\ Depuis l'interface SSH, les commandes ci-dessous sont à executer en étant à la racine de votre dossier `edition-videos`. + +A VENIR ...