tuto vert convertisseur fichiers privacy first
  • 19 mars 2026
  • ComputaSYS
  • 0


Découvrez comment déployer facilement VERT, votre propre outil de conversion multimédia pour garder le contrôle total sur vos données. Open source et auto-hébergeable, VERT est capable de convertir des images, des fichiers audio, des fichiers vidéos et des documents.

Si vous recherchez une application capable de convertir des fichiers avec une interface moderne et agréable à utiliser, et qu’en plus il est possible d’auto-héberger, alors VERT devrait vous plaire ! Ce qui me plait avec cette solution, c’est son approche privacy-first : le traitement est effectué directement côté client, c’est-à-dire sur votre ordinateur. À une exception près : les fichiers vidéo, pour des raisons de performance (mais nous verrons qu’une solution existe).

Ce tutoriel vous explique comment installer l’application VERT à l’aide de Docker (via Docker Compose). Je vais vous indiquer une configuration sans reverse proxy Traefik une autre avec reverse proxy.

L’architecture de la solution VERT

Avant de foncer dans l’installation de la solution, prenons le temps de comprendre comment l’application VERT est structurée. Elle repose sur un modèle client-serveur classique, divisé en deux conteneurs distincts qui doivent communiquer ensemble.

Le Frontend (vert) : ce conteneur héberge l’interface utilisateur web. C’est la vitrine de l’application. Une fois chargée dans le navigateur web, cette interface permet de glisser-déposer des fichiers et de sélectionner les formats de sortie souhaités.

Le Backend (vertd) : ce service est un wrapper destiné à effectuer la conversion de fichiers vidéos. Il s’occupe donc de cette opération lourde (transcodage, compression) et renvoie le fichier final à l’utilisateur.

Vous pouvez déployer uniquement le conteneur de la solution VERT. C’est d’ailleurs ce que je vous recommande si vous ne souhaitez pas effectuer la conversion de fichiers vidéos. Par contre, si vous déployez uniquement ce conteneur, et que vous convertissez un fichier vidéo, l’opération sera effectuée via les serveurs de VERT : votre fichier sera donc stocké temporairement sur leur serveur. À l’inverse, si vous déployez aussi le conteneur VERTD, vous pouvez auto-héberger également le moteur de conversion des fichiers vidéos, et dans ce cas, c’est top pour la confidentialité.

Note : pour la conversion vidéo, il est recommandé d’avoir un GPU, notamment si ce sont des fichiers volumineux.

Installation de VERT avec Docker

Pour cet exemple, nous allons effectuer un déploiement complet de VERT, il y aura donc deux conteneurs : vert et vertd.

Note : il existe aussi des installeurs pour cette application, notamment pour Windows.

Étape 1 : création de l’arborescence

Commencez par créer un répertoire dédié à VERT sur votre serveur. Cela permettra d’organiser vos fichiers et de centraliser les données persistantes (nous reviendrons sur ce point par la suite). Le projet sera stocké à l’emplacement suivant (adaptez si besoin) : /opt/docker-compose/vert/. Il n’y a pas besoin de créer de sous-dossiers car les données sont traitées côté client (à l’exception des fichiers vidéos).

Ouvrez votre terminal et exécutez les commandes suivantes :

sudo mkdir /opt/docker-compose/vert
cd /opt/docker-compose/vert

Étape 2 : création du fichier de configuration

Dans le répertoire racine, créez un fichier nommé docker-compose.yml en utilisant votre éditeur de texte favori :

nano docker-compose.yml

Copiez et collez la configuration suivante dans le fichier. Un seul fichier sera utilisé pour déployer les deux conteneurs.

services:
# ————————————-
# 1. FRONTEND : L’interface web (VERT)
# ————————————-
vert:
container_name: vert
image: ghcr.io/vert-sh/vert:latest
restart: unless-stopped
# On expose directement le port 3000 sur la machine hôte
ports:
– “3000:80”
environment:
– PUB_HOSTNAME=localhost:3000
– PUB_ENV=production
# L’URL pour contacter le backend.
– PUB_VERTD_URL=http://localhost:24153
depends_on:
– vertd

# ————————————-
# 2. BACKEND : Le convertisseur vidéo (VERTD)
# ————————————-
vertd:
container_name: vertd
image: ghcr.io/vert-sh/vertd:latest
restart: unless-stopped
# On expose directement le port 24153 sur la machine hôte
ports:
– “24153:24153”
environment:
– ADMIN_PASSWORD=TonMotDePasseSecret
# Doit correspondre à l’URL définie au-dessus (PUB_VERTD_URL)
– PUBLIC_URL=http://localhost:24153

# —————————————————
# ACCÉLÉRATION MATÉRIELLE (Désactivée par défaut)
# —————————————————
# Pour utiliser une carte NVIDIA, décommentez les lignes ci-dessous :
# runtime: nvidia
# deploy:
# resources:
# reservations:
# devices:
# – driver: nvidia
# count: all
# capabilities: [ gpu ]

# Pour utiliser un iGPU Intel ou AMD, décommentez les 2 lignes ci-dessous :
# devices:
# – /dev/dri

Cette configuration simplifiée télécharge les images officielles depuis le GitHub Container Registry (ghcr.io), et associe les ports nécessaires sur votre serveur hôte. Ainsi, tout peut fonctionner en local sur une machine !

Je vous donne, en complément et à titre d’informations, ma configuration pour publier VERT avec Traefik.

Cette configuration me permet de pouvoir accéder à VERT via l’adresse https://vert.it-connectlab.fr. D’après ce que j’ai compris, le second conteneur doit aussi être accessible par le client, j’ai donc associé l’adresse https://vertd.it-connectlab.fr.

services:
# ————————————-
# FRONTEND : L’interface web (VERT)
# ————————————-
vert:
container_name: vert
image: ghcr.io/vert-sh/vert:latest
restart: unless-stopped
environment:
– PUB_HOSTNAME=vert.it-connectlab.fr
– PUB_ENV=production
– PUB_VERTD_URL=https://vertd.it-connectlab.fr
networks:
– frontend
depends_on:
– vertd
labels:
– “traefik.enable=true”
– “traefik.http.routers.vert.rule=Host(`vert.it-connectlab.fr`)”
– “traefik.http.routers.vert.entrypoints=websecure”
– “traefik.http.routers.vert.tls=true”
– “traefik.http.routers.vert.tls.certresolver=ovhcloud”
– “traefik.http.services.vert.loadbalancer.server.port=80”

# ————————————-
# BACKEND : Le convertisseur vidéo (VERTD)
# ————————————-
vertd:
container_name: vertd
image: ghcr.io/vert-sh/vertd:latest
restart: unless-stopped
environment:
– ADMIN_PASSWORD=${ADMIN_PASSWORD:-changeme}
– PUBLIC_URL=https://vertd.it-connectlab.fr
networks:
– frontend
devices:
– /dev/dri
labels:
– “traefik.enable=true”
– “traefik.http.routers.vertd.rule=Host(`vertd.it-connectlab.fr`)”
– “traefik.http.routers.vertd.entrypoints=websecure”
– “traefik.http.routers.vertd.tls=true”
– “traefik.http.routers.vertd.tls.certresolver=ovhcloud”
– “traefik.http.services.vertd.loadbalancer.server.port=24153”

networks:
frontend:
external: true

La configuration fournie ci-dessus utilise la valeur localhost pour les variables de connexion au backend. Si vous utilisez ce déploiement exclusivement sur la machine locale qui exécute Docker (par exemple, votre ordinateur de bureau personnel), cette configuration fonctionnera directement. Si c’est une installation sur un serveur ou un NAS, vous devez adapter, sinon cela ne fonctionnera pas.

Par exemple, si l’adresse IP de votre serveur Docker est 192.168.1.100, vous devez adapter le fichier de configuration :

Modifiez la ligne du frontend : – PUB_VERTD_URL=http://192.168.1.100:24153

Modifiez la ligne du backend : – PUBLIC_URL=http://192.168.1.100:24153

La gestion de l’accélération matérielle

La conversion de fichiers vidéo est une opération exigeante pour le processeur (CPU). Par défaut, notre fichier de configuration désactive l’utilisation de la puce graphique pour garantir un démarrage fluide sur n’importe quel système (sinon cela peut ne pas fonctionner sur certains environnements, comme un VPS).

Si votre serveur bénéficie d’une carte graphique dédiée (le top !) ou d’un processeur avec iGPU, vous gagnerez en temps de traitement en activant l’accélération matérielle.

Matériel NVIDIA : retirez ensuite les commentaires (#) devant le bloc runtime: nvidia et le sous-bloc deploy.

Matériel Intel/AMD (iGPU) : décommentez la section devices contenant /dev/dri pour que le conteneur vertd puisse y accéder.

Si vous n’avez pas de GPU dédié, tentez la seconde option. Si une erreur s’affiche lors de la création des conteneurs, commentez les lignes de nouveau et relancez.

Lancement des services

Une fois la configuration terminée, enregistrez votre fichier. Dans votre terminal, exécutez la commande suivante :

docker compose up -d

Vous pouvez afficher l’état des conteneurs via cette commande :

docker compose ps

Si l’état des conteneurs indique “Up”, ouvrez votre navigateur web. Saisissez l’adresse de votre serveur suivie du port 3000 (ex: http://192.168.1.100:3000) ou alors votre nom DNS. L’interface de VERT devrait apparaître !

NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
vert ghcr.io/vert-sh/vert:latest “/docker-entrypoint.…” vert About an hour ago Up About an hour (healthy) 80/tcp
vertd ghcr.io/vert-sh/vertd:latest “./vertd” vertd About an hour ago Up About an hour (healthy) 24153/tcp

Prise en main de VERT

La version auto-hébergée est identique à celle accessible via l’adresse officielle de la solution : vert.sh. Pour convertir un fichier dès maintenant, utilisez la zone prévue à cet effet et intitulée “Déposer ou cliquer pour convertir”.

Avant cela, je vous invite à cliquer sur le bouton “Paramètres” dans le menu. Cette section contient quelques options, comme la langue, mais surtout, elle contient une section nommée “Conversion vidéo”. Ici, vous devez veiller à deux choses :

Le mode “Custom” est sélectionné et l’adresse de votre instance Vertd est affichée,

Le statut indique que l’instance Vertd est joignable.

Si c’est bien le cas, cela signifie que la conversion de fichiers vidéo sera effectuée en tirant profit des ressources locales de votre serveur VERT.

Maintenant, si vous cliquez sur le bouton “Convertir” dans le menu, vous pourrez passer à la conversion d’un ou plusieurs fichiers. C’est simple d’utilisation et intuitif. Vous n’avez qu’à glisser-déposer les fichiers à convertir. Ensuite, deux possibilités :

Spécifier le format de sortie pour chaque fichier (tour à tour),

Spécifier un format de sortie global pour l’ensemble des fichiers dans la file d’attente, ce qui est pratique pour traiter en masse des données.

Une fois l’opération effectuée, vous n’aurez qu’à télécharger le fichier converti. Si vous avez converti plusieurs fichiers, vous pouvez télécharger une archive ZIP avec tous les fichiers à l’intérieur.

Conclusion

VERT est focus sur la conversion de fichiers et le fait bien. Pas de limite de taille, pas de pubs, une application agréable à utiliser et orientée confidentialité. Une belle découverte et surtout un véritable outil au quotidien pour convertir facilement des fichiers. Là où VERT est un peu en retrait vis-à-vis de ConvertX, une autre solution open source présentée sur IT-Connect, c’est dans le nombre de formats pris en charge. C’est ce qui pourrait vous pousser à utiliser ConvertX à la place de VERT, si l’ergonomie et l’UX vous importent peu.

Qu’en pensez-vous ?

Ingénieur système et réseau, cofondateur d’IT-Connect et Microsoft MVP “Cloud and Datacenter Management”. Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *