Guide de déploiement

Déployer vos applications avec Traefik sur un VPS

Déployer sur un VPS Cloud →

Déploiement8 min de lecture

Déployer vos applications avec Traefik sur un VPS

Traefik est un reverse proxy et load balancer cloud-native qui découvre vos conteneurs Docker automatiquement et leur attribue routes et certificats SSL sans rechargement manuel. Déployé sur votre VPS, il devient la porte d'entrée unique de toutes vos applications, avec une configuration déclarative par labels Docker.

Pourquoi placer Traefik en frontal de votre VPS ?

Quand vous faites tourner plusieurs applications conteneurisées sur un même VPS, gérer manuellement les virtual hosts Nginx et renouveler chaque certificat devient vite ingérable. Traefik résout ce problème en lisant directement les labels de vos conteneurs Docker : vous déclarez une route au moment du docker run ou dans votre docker-compose.yml, et Traefik la configure à chaud, génère le certificat Let's Encrypt et l'expose en HTTPS. Aucun fichier de conf à éditer, aucun reload : tout est dynamique.

Ce que Traefik apporte concrètement sur un VPS

  • Découverte automatique des conteneurs Docker via le provider Docker (les routes apparaissent sans redémarrage)
  • Certificats SSL Let's Encrypt générés et renouvelés automatiquement (HTTP-01 ou DNS-01)
  • Routage par domaine et par chemin, géré entièrement via les labels Docker
  • Dashboard web intégré pour visualiser routers, services et middlewares en temps réel
  • Middlewares prêts à l'emploi : redirection HTTPS, basic auth, rate limiting, headers de sécurité
  • Load balancing automatique quand vous scalez un service à plusieurs réplicas

Prérequis

Traefik lui-même est très léger : 1 vCPU et 1 Go de RAM suffisent largement pour le proxy seul, le surcoût venant de vos applications derrière. Prévoyez un VPS avec Docker Engine et le plugin Docker Compose v2 installés, un nom de domaine dont les enregistrements A/AAAA pointent vers l'IP du VPS, et les ports 80 et 443 ouverts dans votre pare-feu (UFW). Pour les certificats wildcard, il vous faudra aussi un accès API à votre fournisseur DNS.

Déployer Traefik avec Docker Compose

01

Créer le réseau et l'arborescence

Créez un réseau Docker partagé que Traefik et vos applications utiliseront : docker network create proxy. Créez un dossier traefik/ contenant un fichier acme.json (le stockage des certificats) avec les bons droits : touch acme.json && chmod 600 acme.json. Sans ces droits restreints, Traefik refusera de l'utiliser.

02

Configurer les entrypoints et le résolveur ACME

Dans le docker-compose.yml, déclarez deux entrypoints (web sur :80, websecure sur :443) et un certificateResolver Let's Encrypt avec votre email et le challenge httpChallenge. Montez le socket Docker en lecture seule (/var/run/docker.sock:/var/run/docker.sock:ro) pour que Traefik découvre les conteneurs, et le volume acme.json.

03

Forcer la redirection HTTP vers HTTPS

Ajoutez un middleware global de redirection sur l'entrypoint web via les labels : traefik.http.routers.http-catchall.middlewares=redirect-to-https. Ainsi tout trafic en clair est automatiquement basculé en HTTPS, comportement attendu en production.

04

Sécuriser le dashboard

Exposez le dashboard sur un sous-domaine (traefik.votredomaine.com) protégé par un middleware basicauth. Générez le hash avec htpasswd -nb admin motdepasse et placez-le dans le label traefik.http.middlewares.auth.basicauth.users. Ne laissez jamais le flag --api.insecure=true en production.

05

Lancer Traefik

Démarrez la stack : docker compose up -d. Vérifiez les logs avec docker compose logs -f traefik pour confirmer la connexion à Let's Encrypt et l'absence d'erreur ACME (attention au rate limit Let's Encrypt en phase de tests, utilisez le serveur staging).

06

Connecter une application

Pour exposer un service, attachez-le au réseau proxy et ajoutez ses labels : traefik.enable=true, traefik.http.routers.app.rule=Host(\app.votredomaine.com\), traefik.http.routers.app.entrypoints=websecure et traefik.http.routers.app.tls.certresolver=letsencrypt. Traefik route et certifie l'application en quelques secondes.

Pour obtenir un certificat wildcard (*.votredomaine.com) et éviter d'exposer chaque sous-domaine, passez du httpChallenge au dnsChallenge. Configurez le provider DNS (Cloudflare, OVH, etc.) via les variables d'environnement (ex : CF_API_EMAIL, CF_DNS_API_TOKEN) : Traefik prouve la propriété du domaine par un enregistrement TXT, ce qui fonctionne même pour des services non exposés publiquement.

Lancez Traefik en quelques minutes sur un VPS Cloud ServOrbit

Commandez un VPS Cloud avec Docker préinstallé et déployez votre stack Traefik à partir du template Déploiement. Vos applications sont routées en HTTPS automatiquement.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.