
Contexte
- Mise en service : 20 février 2026
- Objectif : Avoir un container dédier à la conversion de fichier et ne plus dépendre de site web tierce propriétaire
- URL https://convert.freewebworld.fr en libre accès libre a vous de l’utiliser ou d’utilisé Convertx.org
- Caractéristique : les fichier sont supprimer au bout d’une heure après la conversion
depuis que je gère ce portfolio souvent je converti mes fichiers images en .avif un format moderne et ultra compacte pratique pour être sure que le site charge rapidement sauf que ma problématique est la suivante : jusqu’à maintenant j’utilise des outils de conversion en ligne
il y a quelques problèmes a cela
- la confidentialité ou les données vont sont t’elle supprimer correctement
- limitation conversion a 10 fichiers par site en moyenne
- la dépendance a un outil que l’on ne maitrise pas et qui pourrais disparaitre
en parcourant le web je suis tombé sur cette article de Korben https://korben.info/convertx-convertisseur-fichiers-self-hosted-docker.html qui parler de ce système
un outil open-source permettant la conversion de fichier facilement ConvertX, github_ConvertX fonctionnant en container docker
Voici quelques captures montrant le fonctionnement du logiciel.
Sur la première, on charge les fichiers et on choisit le format dans mon cas AVIF avec FFmpeg puis on clique sur Convertir.
Sur la deuxième image, après quelques secondes, le fichier est converti.



Le déploiement en deux fois
Premier déploiement sur ma vm dédier au conteneur docker
Premier déploiement : mon conteneur est isolé en 127.0.0.1, en mode bridge sur un port spécifique, et c’est le reverse proxy Nginx dans la VM qui gère la communication vers l’extérieur, laquelle passe ensuite par un autre reverse proxy, lui, exposé à Internet.
les problèmes arrivent (oops pas d’encodeur hardware)
le conteneur est déployé : tout fonctionne. Mais à force d’utilisation, je me rends compte de quelques problèmes avec la conversion via FFmpeg. Comme je n’ai pas de GPU, tout se fait sur le CPU, qui, matériellement, n’a aucun GPU/APU non plus donc pas d’encodage / décodeur hardware tout est en software.
Naturellement, quand j’ai lancé la conversion de 10 fichiers d’un coup, la VM a vu l’ensemble des vCPU monter à 100 %, et ça a par effet de bord fait crash les autres conteneurs qui étaient sur cette même VM
Second déploiement sur une VM disposant d’un GPU en PCIe passthrough
j’ai donc fais le choix de déployer ce container ailleurs j’ai une VM ayant accès en PCIE passthrough à un GPU type gtx 1060 6GB
Présence GPU verifier
Ma VM a bien accès à un GPU, la commande nvidia-smi permet de le vérifier

indiqué a docker comment utiliser un GPU
un truc que je ne savais pas est que j’ai appris après tout sa c’est qu’un container docker on peu lui faire accèder au GPU dans mon cas sa c’est en quelques commandes 3 environs
sudo apt-get update
#Installe le support officiel NVIDIA pour Docker (CUDA, NVENC, NVDEC).
sudo apt-get install -y nvidia-container-toolkit
#Activation runtime NVIDIA dans docker
sudo nvidia-ctk runtime configure --runtime=docker #Active nvidia sur docker
INFO[0000] Loading config from /etc/docker/daemon.json
INFO[0000] Wrote updated config to /etc/docker/daemon.json
INFO[0000] It is recommended that docker daemon be restarted.
sudo systemctl restart docker
#vérification de la bonne prise en charge de nvidia par docker
docker info | grep -i runtimes
Runtimes: io.containerd.runc.v2 nvidia run #confirme que nvidia est bien charger sur docker
Le fichier Docker-compose
maintenant il ya quelques ajout a faire coté docker-compose, moi mon docker-compose est fais de cette manière
services:
convertx:
image: ghcr.io/c4illin/convertx
container_name: convertx
user: 1006:1006
restart: unless-stopped
gpus: all
ports:
- "127.0.0.1:3001:3000"
environment:
ACCOUNT_REGISTRATION: "false"
JWT_SECRET: "My_secret_key_hidden"
HTTP_ALLOWED: "true"
ALLOW_UNAUTHENTICATED: "true"
AUTO_DELETE_EVERY_N_HOURS: "1"
FFMPEG_ARGS: "-hwaccel cuda"
NVIDIA_VISIBLE_DEVICES: "all"
NVIDIA_DRIVER_CAPABILITIES: "all"
volumes:
- ./data:/app/data
networks:
- convertx
networks:
convertx:
driver: bridge
Conclusion
Après ce déploiement, j’ai un file converter auto-hébergé (ConvertX) qui utilise mon GPU NVIDIA pour accélérer les conversions et améliorer les performances. J’ai aussi appris qu’on peut exposer un GPU à Docker