[Tuto] Installation de Avidemux, Handbrake, MakeMKV, Mediainfo et MKVToolNix en Docker

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 159
1 563
278
/var/run/docker.sock
[Tuto] Installation de Avidemux, Handbrake, MakeMKV, Mediainfo et MKVToolNix en Docker

Bienvenue sur mon nouveau tutoriel. Celui-ci, je l’espère va vous apprendre à installer Handbrake, Mediainfo, Avidemux, MakeMKV et MKVToolNix simplement via docker.

Nom du serviceSite OfficielDépot utilisé
AvidemuxFixounetjlesage
HandbrakeHandbrake.frjlesage
MakeMKVGuinpinSoftjlesage
MediainfoMediaAreajlesage
MKVToolNixMoritz Bunkusjlesage

Table des matières
- 1. Prérequis
--- 1.a Création des dossiers
--- 1.b Modifications du .env
--- 1.c Transfert des fichiers dans /edition-videos

- 2. Création des conteneurs
--- 2.a Création du réseau
--- 2.b Création des conteneurs

- 3. Les Bases
--- 3.a Commandes de bases ( Docker )
--- 3.b Accès aux interfaces ( WebUI )

- 4. Dépannage

C'est parti ! :giggle:

1. Prérequis
Cette stack est concu pour fonctionner dans un dossier edition-videos, avec l'architecture suivante :

Code:
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 ).

Vous devez :
Avoir un accès SSH à la machine
Avoir installer docker et docker-compose , docker-compose
Connaitre le PUID/GUID de l'utilisateur, voir tuto

--- 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 :

Code:
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 du .env
Récupérer sur votre machine les fichiers .env et docker-compose.yml disponible en fichier joint à la fin de ce post.

- Dans le fichier .env vous allez devoir modifier plusieurs chose :

PUID et PGID devront correspondre aux ID de votre utilisateurs, plus d'info ici : [Tuto] Connaitre le PUID / PGID d'un utilisateur.

RACINE correspond au chemin vers le dossier edition-videos créé a l'étape 1.a.
Dans ce cas, c'est : /volume1/docker/edition-videos

STORAGE 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 bridge edition-videos-network :

Code:
docker network create edition-videos-network

--- 2.b Création des conteneurs
Maintenant que votre "stack" est prête rendez-vous dans le dossier edition-videos, dans mon cas /volume1/docker/edition-videos :

Code:
cd /volume1/docker/edition-videos


- 3. Les Bases
--- 3.a Commandes de bases ( Docker )
- Arreter un conteneur : docker stop <nom_du_conteneur>
Exemple pour le conteneur rutorrent : docker stop rutorrent

- Redémarrer un conteneur : docker restart <nom_du_conteneur>
Exemple pour le conteneur rutorrent : docker restart rutorrent

- Démarrer un conteneur : docker start <nom_du_conteneur>
Exemple pour le conteneur rutorrent : docker start rutorrent

- Supprimer un conteneur : docker rm <nom_du_conteneur>
Exemple pour le conteneur rutorrent : docker rm rutorrent

- 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 :
ServicePort
Avidemux6802
Handbrake6800
MakeMKV6803
Mediainfo6801
MKVToolNix6804

- 4. Dépannage
A venir .....

2023-02-28 - Correction d'une erreur de typo de PGID dans le fichier .env, merci @Aster05
2021-01-04 - Correction d'une erreur dans le chemin d'acces au dossier config de mkvtoolnix
 

Pièces jointes

  • docker-compose.yml
    2.8 KB · Affichages: 30
  • .env
    137 bytes · Affichages: 12
Dernière édition:
Bonjour EVOTk,

j'ai installé le conteneur MKVtoolnix sur mon Synology.
L'installation s'est bien passée et j'accède au conteneur via la webUi.

Malheureusement je ne trouve pas les fichiers que je souhaite remuxer.
J'ai bien le dossier Storage mais rien dedans.
Comment puis-je accéder à mon Volume de fichiers du NAS?

Merci
 
Bonjour EVOTk,

j'ai pris le temps de comprendre un peu mieux avant de revenir vers toi.
Je suis débutant sur Synology et de surcroit avec Docker et les Containers.

Je me connecte à mon Nas en SSH via Putty.
J'ai donc accès à mon PUID et GUID
J'en ai également profité pour télécharger l'image du conteneur Jackett qui était indisponible via DSM.
Je commence à saisir pour cette partie

Si j'ai bien compris le fichier .env fait référence aux variable d'environnements qu'on peut configurer lors de la création ou la modification d'un conteneur dans DSM.

J'ai donc modifié les variables PUID et GUID pour que ce soit bon avec mes valeurs.
J'ai également crée une variable $HOME avec le chemin d'accès à mon volume principal.
J'ai ensuite lu ton fichier .env et j'ai crée une variable STORAGE avec le chemin vers mon dossier.
J'ai également lancé le conteneur avec les droits admin pour tester.

Mais je n'accède toujours pas à mes fichiers...

Te serait-il possible de m'aider sur ce coup que je puisse saisir l'essentiel?

Tout cela dans le but de réussir ensuite ton tuto : https://www.forum-nas.fr/threads/tu...rrent-sonarr-radarr.16625/page-15#post-121530 mais je pense avoir encore besoin de mieux comprendre, avant de me lancer j'aimerai comprendre un maximum de choses sur la logique de fonctionnement. Je pense avoir saisi le gros mais sur ce coup je sèche.

Je n'ai pas pris le temps de te dire que mon install n'était pas via docker-compose mais uniquement du container mkvtoolnix seul dans docker

Merci
 
Dernière édition:
Salut,il me faudrait plus d'information pour comprendre se que tu as fait.
Pourrai tu donner les contenus des ton fichier docker-compose.yml et .env modifié ?

Voir le résultat d'un "inspect" sur un conteneur, par exemple sur edition-video_makemkv :
docker container inspect edition-video_makemkv

Je n'ai pas pris le temps de te dire que mon install n'était pas via docker-compose mais uniquement du container mkvtoolnix seul dans docker
Heu, donc c'est pas en rapport avec ce tuto ? ^^ Dans se cas, il faudra mieux posté ta demande ici : https://www.forum-nas.fr/forums/applications.91/ avec un peu plus de détails, et si c'est avec l'interface DSM, dans la catégorie Synology.
 
Bonjour A tous,
Il semblerait qu'il y est un problème avec la variable PGID identifiée GUID dans le fichier .env.
J'ai modifié le fichier .env en remplaçant GUID par PGID et l'insatllation s'est bien passée par la suite
 
Dernière édition:
Bonjour @EVOTk
Je viens de suivre ton tuto mais j'ai pas mal de messages d'erreurs.
Pour info j'ai déjà suivi d'autres tuto que tu avais fait et ça fonctionne.
Après avoir lancer la commande "docker-compose up -d" j'ai eu un message d'avertissement puis l'installation s'est lancée.
Code:
WARNING: The PUID variable is not set. Defaulting to a blank string.
WARNING: The PGID variable is not set. Defaulting to a blank string.
WARNING: The TZ variable is not set. Defaulting to a blank string.
WARNING: The DISPLAY_WIDTH variable is not set. Defaulting to a blank string.
WARNING: The DISPLAY_HEIGHT variable is not set. Defaulting to a blank string.
WARNING: The RACINE variable is not set. Defaulting to a blank string.
WARNING: The STORAGE variable is not set. Defaulting to a blank string.

A la fin de l'installation, j'ai ces messages d'erreurs
Code:
ERROR: for edition-video_avidemux  Cannot create container for service avidemux: create .: volume name is too short, names should be at least two alphanumeric cCreating edition-video_makemkv    ... error

ERROR: for edition-video_mkvtoolnix  Cannot create container for service mkvtoolnix: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for edition-video_makemkv  Cannot create container for service makemkv: cCreating edition-video_handbrake  ... error
racters
Creating edition-video_mediainfo  ... error
ERROR: for edition-video_handbrake  Cannot create container for service handbrake: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for edition-video_mediainfo  Cannot create container for service mediainfo: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for avidemux  Cannot create container for service avidemux: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for mkvtoolnix  Cannot create container for service mkvtoolnix: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for makemkv  Cannot create container for service makemkv: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for handbrake  Cannot create container for service handbrake: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for mediainfo  Cannot create container for service mediainfo: create .: volume name is too short, names should be at least two alphanumeric characters
ERROR: Encountered errors while bringing up the project.

J'ai bien modifié le fichie ENV, je ne suis pas sûr pour le chemin storage

Code:
PUID=1029
PGID=100
TZ=Europe/Paris

DISPLAY_WIDTH=1280
DISPLAY_HEIGHT=768

RACINE=/volume2/docker/edition-videos
STORAGE=/volume1/Video/Movies

Je veux bien un peu d'aide