Handbrake dans Docker

HandBrake est un outil populaire et puissant pour la conversion et la compression vidéo. Dans cet article, nous allons voir comment installer HandBrake en utilisant Docker Compose. Cette méthode est particulièrement avantageuse car elle simplifie la gestion des dépendances et l’isolation du service.

Prérequis

Avant de commencer, assurez-vous d’avoir Docker et Docker Compose installés sur votre système. Vous pouvez vérifier les installations en utilisant les commandes suivantes :





docker --version
docker-compose --version

Si vous n’avez pas encore installé Docker et Docker Compose, suivez les instructions disponibles sur le site officiel de Docker.

Configuration de Docker Compose

Nous allons utiliser le fichier docker-compose.yml suivant pour configurer et lancer HandBrake. Ce fichier spécifie les paramètres nécessaires pour créer et exécuter le conteneur HandBrake.





version: "3.9"
services:
  handbrake:
    image: jlesage/handbrake:latest
    container_name: HandBrake
    hostname: handbrake
    mem_limit: 4g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:5800
    ports:
      - 5800:5800
    volumes:
      - /volume1/docker/handbrake/config:/config:rw      
      - /volume1/docker/handbrake/storage:/storage:ro
      - /volume1/docker/handbrake/watch:/watch:rw
      - /volume1/docker/handbrake/output:/output:rw
    environment:
      USER_ID: 1026
      GROUP_ID: 100
      TZ: Europe/Paris
      DARK_MODE: 1
      VNC_LISTENING_PORT: -1
      AUTOMATED_CONVERSION: 1
      AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS: 5
      AUTOMATED_CONVERSION_NO_GUI_PROGRESS: 0
      LANG: fr_FR.UTF-8
      HANDBRAKE_GUI: 1
      AUTOMATED_CONVERSION_KEEP_SOURCE: 0
            
    restart: on-failure:5

Étapes d’Installation

  1. Créer le fichier docker-compose.yml : Créez un répertoire pour votre configuration Docker et naviguez vers celui-ci.sh
mkdir -p ~/docker/handbrake
cd ~/docker/handbrake

Ensuite, créez et éditez le fichier docker-compose.yml :





nano docker-compose.yml

Collez le contenu YAML ci-dessus dans ce fichier et enregistrez-le.

Configurer les répertoires de volume : Assurez-vous que les répertoires mentionnés dans les volumes existent sur votre système. Vous pouvez les créer avec les commandes suivantes :





mkdir -p /volume1/docker/handbrake/config
mkdir -p /volume1/docker/handbrake/storage
mkdir -p /volume1/docker/handbrake/watch
mkdir -p /volume1/docker/handbrake/output

Lancer le conteneur HandBrake : Depuis le répertoire contenant votre fichier docker-compose.yml, exécutez la commande suivante pour démarrer HandBrake :





docker-compose up -d

Cette commande télécharge l’image Docker de HandBrake, crée et démarre le conteneur en arrière-plan.

Accéder à l’interface Web de HandBrake : Une fois le conteneur en cours d’exécution, ouvrez votre navigateur web et accédez à l’URL suivante :





  1. http://localhost:5800 Vous devriez voir l’interface de HandBrake s’afficher.

Paramètres de Configuration

Le fichier docker-compose.yml ci-dessus comprend plusieurs paramètres de configuration importants :

  • Limite de mémoire et partages CPU :
    • mem_limit: 4g : Limite la mémoire à 4 Go.
    • cpu_shares: 768 : Assigne une part CPU relative de 768.
  • Volumes :
    • /config : Répertoire de configuration de HandBrake.
    • /storage : Répertoire en lecture seule pour les fichiers source.
    • /watch : Répertoire surveillé pour les nouvelles vidéos à convertir.
    • /output : Répertoire de sortie pour les vidéos converties.
  • Variables d’environnement :
    • USER_ID et GROUP_ID : Définissent l’utilisateur et le groupe pour les permissions des fichiers.
    • TZ : Configure le fuseau horaire.
    • DARK_MODE : Active le mode sombre.
    • AUTOMATED_CONVERSION : Active la conversion automatique des vidéos.
    • LANG : Définit la langue de l’interface en français.

Conclusion

En suivant ces étapes, vous devriez maintenant avoir HandBrake fonctionnant dans un conteneur Docker, prêt à convertir vos vidéos de manière efficace et sécurisée. Cette configuration vous offre une grande flexibilité et une gestion simplifiée, idéale pour des tâches de conversion vidéo automatisées. N’hésitez pas à ajuster les paramètres selon vos besoins spécifiques.

Bonne conversion vidéo !