Retour au blog
    Proxmox
    Conteneurs
    Virtualisation
    Stockage

    Faut-il faire tourner Traefik dans Docker, LXC ou une VM sur Proxmox ?

    24 juin 2026
    9 min de lecture

    Traefik peut tourner de plusieurs façons sur Proxmox. Vous pouvez le déployer comme conteneur Docker, installer le binaire Traefik dans un conteneur LXC ou le placer dans une machine virtuelle dédiée.

    Ces options se recoupent. Docker décrit la façon dont Traefik est empaqueté, alors que LXC et les machines virtuelles décrivent l'endroit où il s'exécute. Les architectures les plus courantes sont Docker dans une machine virtuelle, Docker dans un conteneur LXC ou une installation native de Traefik dans LXC.

    Pour la plupart des utilisateurs de Proxmox, le meilleur choix par défaut est Traefik dans Docker, à l'intérieur d'une petite machine virtuelle dédiée. L'intégration avec Docker est simple, l'isolation plus forte et le dépannage plus facile. Une installation native dans LXC peut être plus économe, mais demande davantage de configuration manuelle. Docker dans LXC fonctionne, même si cela ajoute une complexité dont beaucoup d'environnements n'ont pas besoin.

    Pourquoi faire tourner Traefik sur Proxmox ?

    Traefik reçoit les requêtes destinées aux applications internes et les transmet au bon service. Il peut gérer le routage par nom de domaine, les certificats HTTPS, les redirections, les middlewares d'authentification et la répartition de charge.

    Une seule instance de Traefik peut router le trafic vers des applications qui tournent dans plusieurs machines virtuelles Proxmox, conteneurs LXC, hôtes Docker et serveurs physiques. Il suffit que la destination soit joignable sur le réseau.

    Traefik est particulièrement efficace avec Docker, car son provider Docker peut découvrir les conteneurs et construire les règles de routage à partir de leurs labels. Quand une application dotée de labels démarre, Traefik peut créer sa route automatiquement, et quand l'application est supprimée, la route disparaît.

    Le serveur qui héberge Traefik devient un composant d'infrastructure important. S'il tombe, les applications derrière lui peuvent continuer à fonctionner, mais les utilisateurs ne pourront plus les atteindre par leurs noms de domaine habituels. L'isolation, la sauvegarde et la reprise comptent donc davantage qu'une petite économie de mémoire.

    Faut-il faire tourner Traefik dans Docker ?

    Docker est la méthode de déploiement la plus pratique quand Traefik sert de proxy à d'autres applications Docker.

    Traefik fournit une image Docker officielle et documente Docker comme l'une de ses principales méthodes d'installation. Un déploiement de base peut être décrit dans Docker Compose, y compris les ports, les réseaux, les fichiers de configuration, le stockage des certificats et l'accès au provider Docker.

    Docker Compose rend aussi l'installation portable. Le fichier Compose peut être versionné, copié sur un serveur de remplacement et utilisé pour recréer le conteneur Traefik.

    Les routes des applications peuvent être placées dans les labels Docker de chaque service, ce qui garde ensemble l'application et ses besoins de routage. Un déploiement Immich, par exemple, peut déclarer son domaine, son port interne et ses paramètres HTTPS dans le même projet Compose.

    Le principal souci est l'accès à l'API Docker. Traefik lit généralement les informations des conteneurs via le socket Docker. La documentation de Traefik prévient qu'un accès sans restriction à l'API Docker pose un problème de sécurité, car une compromission de Traefik pourrait exposer l'hôte Docker sous-jacent. Docker décrit aussi son démon comme une surface d'attaque sensible, qui ne doit être contrôlée que par des utilisateurs de confiance.

    Monter le socket en lecture seule limite les opérations ordinaires sur les fichiers, mais n'élimine pas tous les risques liés à l'API. Une architecture plus solide peut passer par un proxy de socket restreint ou par un point d'accès Docker distant protégé.

    Docker est donc une excellente méthode d'empaquetage, mais l'hôte Docker a toujours besoin d'une frontière d'isolation adaptée.

    Docker doit-il tourner dans une VM Proxmox ?

    Faire tourner Docker et Traefik dans une machine virtuelle dédiée est la recommandation générale la plus sûre.

    Les machines virtuelles Proxmox utilisent KVM et disposent de leur propre noyau invité, alors que les conteneurs LXC partagent le noyau de l'hôte Proxmox. Une machine virtuelle crée donc une frontière plus forte entre le reverse proxy exposé à Internet et l'hôte Proxmox.

    La documentation de Proxmox a historiquement recommandé de faire tourner les plateformes de conteneurs applicatifs comme Docker dans une machine virtuelle QEMU. Vous disposez ainsi d'un environnement noyau complet et vous évitez les exigences d'imbrication supplémentaires qu'implique Docker dans LXC.

    Une VM Traefik n'a pas besoin de beaucoup de ressources. Un invité Linux modeste, avec peu de capacité processeur et de mémoire, peut gérer de nombreux services de homelab ou de petite entreprise, même si le volume de trafic, les journaux d'accès et les middlewares influent sur les besoins réels.

    La machine virtuelle peut recevoir une adresse IP réservée et un accès direct aux ports 80 et 443. Docker Compose peut ensuite y faire tourner Traefik et les outils qui l'accompagnent.

    Une VM se déplace aussi facilement entre les nœuds Proxmox. Elle profite des processus habituels de migration, de sauvegarde et de haute disponibilité de Proxmox. La reprise peut consister à restaurer l'invité complet ou à le reconstruire à partir des fichiers Compose et de configuration sauvegardés.

    L'inconvénient est la surcharge. Une machine virtuelle fait tourner un système d'exploitation invité complet et consomme plus de mémoire et de stockage qu'un conteneur LXC minimal, même si, en pratique, cette surcharge reste en général faible au regard de l'isolation et de la simplicité d'exploitation qu'elle apporte.

    Faut-il installer Traefik directement dans LXC ?

    Installer le binaire Traefik directement dans un conteneur LXC est le déploiement propre le plus léger.

    Proxmox utilise LXC pour les conteneurs système. Un invité LXC partage le noyau de l'hôte tout en gardant son propre système de fichiers, ses processus, sa configuration réseau et ses limites de ressources. Proxmox prend en charge les conteneurs non privilégiés, dans lesquels le root du conteneur correspond à un utilisateur non privilégié à l'extérieur.

    Un déploiement natif dans LXC se passe entièrement de Docker. Vous pouvez télécharger le binaire Traefik, créer un service système et stocker la configuration statique et dynamique dans le conteneur.

    Cette approche consomme peu de ressources et réduit le nombre de couches logicielles. Elle peut bien convenir quand Traefik route surtout vers des machines virtuelles externes, des applications LXC ou des serveurs physiques.

    La contrepartie est une gestion manuelle. Vous devez vous occuper vous-même des mises à jour du binaire, des fichiers de service, des permissions, du stockage des certificats et des chemins de configuration. Vous perdez aussi la découverte automatique Docker, sauf si Traefik se connecte à distance à un hôte Docker séparé.

    L'installation native dans LXC est une option raisonnable pour les administrateurs Linux expérimentés qui veulent une petite appliance proxy dédiée. Elle est moins pratique pour les équipes qui veulent un déploiement basé sur Docker Compose et des labels de conteneurs automatiques.

    Faut-il faire tourner Docker dans LXC ?

    Docker peut tourner dans LXC, mais c'est la plus compliquée des trois architectures courantes.

    Proxmox propose des fonctionnalités de conteneur comme nesting et keyctl, qui peuvent être nécessaires pour des charges de travail Docker. La documentation de Proxmox signale qu'activer nesting expose au conteneur certaines informations sur les processus et le système de l'hôte. Sa documentation de configuration actuelle précise aussi que keyctl est nécessaire pour utiliser Docker dans un conteneur non privilégié.

    Docker dans LXC peut séduire parce qu'il consomme moins de ressources qu'une machine virtuelle complète, et beaucoup d'utilisateurs de homelab le font tourner sans problème.

    Des difficultés peuvent apparaître autour des pilotes de système de fichiers, des mappages d'utilisateurs, des fonctionnalités du noyau, du comportement des sauvegardes et des permissions de sécurité. Le dépannage peut exiger de comprendre en même temps Docker, LXC et l'hôte Proxmox.

    Cette disposition place aussi une plateforme de conteneurs à l'intérieur d'une autre frontière de conteneur. Cela peut passer dans un lab, mais l'isolation obtenue est moindre qu'avec une VM dédiée, pour une complexité supérieure à celle d'une installation native dans LXC. Pour un service exposé à Internet, le petit gain d'efficacité justifie rarement la complexité d'exploitation supplémentaire.

    Traefik doit-il tourner sur l'hôte Proxmox ?

    En temps normal, Traefik ne doit pas être installé directement sur l'hôte Proxmox.

    L'hôte Proxmox se charge de la virtualisation, du stockage, du réseau et de la gestion du cluster. Y ajouter un reverse proxy exposé à Internet apporte des paquets, des ports, des fichiers de configuration et des besoins de mise à jour sans rapport avec l'hyperviseur. Une erreur de configuration du proxy pourrait aussi perturber l'interface de gestion de Proxmox ou exposer des services qui devraient rester privés.

    Garder Traefik dans un invité rend l'architecture plus facile à documenter, à migrer, à sauvegarder et à remplacer. Cela limite aussi les conséquences d'une compromission au niveau applicatif et laisse l'hôte Proxmox se consacrer à l'exécution et à la protection des charges de travail.

    Quel déploiement choisir ?

    Choisissez Docker dans une machine virtuelle dédiée si vous voulez le meilleur équilibre entre simplicité, isolation et intégration Docker. C'est le meilleur choix par défaut pour la plupart des environnements de production, des petites entreprises et des homelabs sérieux.

    Choisissez Traefik en natif dans un conteneur LXC non privilégié quand l'économie de ressources compte et que vous êtes à l'aise avec la gestion manuelle du binaire et de la configuration du service.

    Ne choisissez Docker dans LXC que si vous comprenez le nesting de Proxmox, les permissions des conteneurs et les compromis de sécurité. Cela peut fonctionner, mais c'est rarement l'architecture la plus simple.

    Quelle que soit l'option retenue, placez Traefik sur un réseau de confiance, n'exposez que les ports nécessaires et restreignez l'accès à son tableau de bord. Versionnez la configuration, sauvegardez les données de certificats et testez la reprise avant de compter sur le proxy pour des services importants.

    Pour la plupart des déploiements Proxmox, une petite VM Linux qui fait tourner Docker Compose et Traefik reste la solution la plus propre à long terme. Elle consomme un peu plus de ressources, mais elle est plus facile à sécuriser, à déplacer, à reconstruire et à dépanner.