[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-avec-traefik-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":25,"intro":27,"sections":28,"ctaTitle":71,"ctaBody":72,"ctaButton":73,"ctaUrl":74,"relatedPosts":75},38,"deployer-avec-traefik","Deploy your applications with Traefik on a VPS","Deploy Traefik as a reverse proxy on your VPS: automatic routing of Docker containers, Let's Encrypt SSL certificates and load balancing.",8,406,false,"2026-05-13T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},3,"Deployment","deploiement","bg-success\u002F10 text-success",[21],{"id":16,"name":17,"slug":18,"color":19,"icon":18},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-avec-traefik-poster.svg",{"categorySlug":18,"appSlug":26},"traefik","Traefik is a cloud-native reverse proxy and load balancer that discovers your Docker containers automatically and assigns them routes and SSL certificates without manual reloading. Deployed on your VPS, it becomes the single entry point for all your applications, with a declarative configuration through Docker labels.",[29,33,43,46,68],{"type":30,"title":31,"body":32},"h2","Why put Traefik in front of your VPS?","When you run several containerized applications on the same VPS, manually managing Nginx virtual hosts and renewing each certificate quickly becomes unmanageable. Traefik solves this problem by reading your Docker containers' labels directly: you declare a route at `docker run` time or in your `docker-compose.yml`, and Traefik configures it on the fly, generates the Let's Encrypt certificate and exposes it over HTTPS. No config file to edit, no reload: everything is dynamic.",{"type":34,"title":35,"items":36},"ul","What Traefik brings concretely on a VPS",[37,38,39,40,41,42],"Automatic discovery of Docker containers via the Docker provider (routes appear without a restart)","Let's Encrypt SSL certificates generated and renewed automatically (HTTP-01 or DNS-01)","Routing by domain and by path, managed entirely through Docker labels","Built-in web dashboard to visualize routers, services and middlewares in real time","Ready-to-use middlewares: HTTPS redirection, basic auth, rate limiting, security headers","Automatic load balancing when you scale a service to several replicas",{"type":30,"title":44,"body":45},"Prerequisites","Traefik itself is very lightweight: 1 vCPU and 1 GB of RAM are amply enough for the proxy alone, the overhead coming from your applications behind it. Plan for a VPS with Docker Engine and the Docker Compose v2 plugin installed, a domain name whose A\u002FAAAA records point to the VPS IP, and ports 80 and 443 open in your firewall (UFW). For wildcard certificates, you will also need API access to your DNS provider.",{"type":47,"title":48,"steps":49},"steps","Deploy Traefik with Docker Compose",[50,53,56,59,62,65],{"title":51,"body":52},"Create the network and the directory structure","Create a shared Docker network that Traefik and your applications will use: `docker network create proxy`. Create a `traefik\u002F` folder containing an `acme.json` file (the certificate storage) with the right permissions: `touch acme.json && chmod 600 acme.json`. Without these restricted permissions, Traefik will refuse to use it.",{"title":54,"body":55},"Configure the entrypoints and the ACME resolver","In the `docker-compose.yml`, declare two entrypoints (`web` on :80, `websecure` on :443) and a Let's Encrypt certificateResolver with your email and the `httpChallenge` challenge. Mount the Docker socket read-only (`\u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro`) so that Traefik discovers the containers, and the `acme.json` volume.",{"title":57,"body":58},"Force the HTTP to HTTPS redirection","Add a global redirection middleware on the `web` entrypoint via the labels: `traefik.http.routers.http-catchall.middlewares=redirect-to-https`. This way all cleartext traffic is automatically switched to HTTPS, the behavior expected in production.",{"title":60,"body":61},"Secure the dashboard","Expose the dashboard on a subdomain (`traefik.yourdomain.com`) protected by a `basicauth` middleware. Generate the hash with `htpasswd -nb admin motdepasse` and place it in the label `traefik.http.middlewares.auth.basicauth.users`. Never leave the `--api.insecure=true` flag in production.",{"title":63,"body":64},"Launch Traefik","Start the stack: `docker compose up -d`. Check the logs with `docker compose logs -f traefik` to confirm the connection to Let's Encrypt and the absence of ACME errors (beware of the Let's Encrypt rate limit during the testing phase; use the staging server).",{"title":66,"body":67},"Connect an application","To expose a service, attach it to the `proxy` network and add its labels: `traefik.enable=true`, `traefik.http.routers.app.rule=Host(\\`app.yourdomain.com\\`)`, `traefik.http.routers.app.entrypoints=websecure` and `traefik.http.routers.app.tls.certresolver=letsencrypt`. Traefik routes and certifies the application in seconds.",{"type":69,"body":70},"tip","To obtain a wildcard certificate (`*.yourdomain.com`) and avoid exposing each subdomain, switch from the `httpChallenge` to the `dnsChallenge`. Configure the DNS provider (Cloudflare, OVH, etc.) via environment variables (e.g. `CF_API_EMAIL`, `CF_DNS_API_TOKEN`): Traefik proves ownership of the domain through a TXT record, which works even for services not publicly exposed.","Launch Traefik in minutes on a ServOrbit Cloud VPS","Order a Cloud VPS with Docker preinstalled and deploy your Traefik stack from the Deployment template. Your applications are routed over HTTPS automatically.","See the Cloud VPS","\u002Fvps-cloud",[76,90,103],{"id":77,"slug":78,"title":79,"excerpt":80,"readTime":81,"views":82,"isPinned":13,"publishedAt":83,"category":84,"categories":85,"featuredImage":22,"bgImage":23,"posterImage":87,"relatedSolution":88},33,"deployer-avec-caprover","Deploy your applications with CapRover on a VPS","Turn your VPS into a PaaS with CapRover: Git deployments in a single push, automatic SSL and a one-click app catalog.",7,221,"2026-05-18T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[86],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-caprover-poster.svg",{"categorySlug":18,"appSlug":89},"caprover",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":81,"views":95,"isPinned":13,"publishedAt":96,"category":97,"categories":98,"featuredImage":22,"bgImage":23,"posterImage":100,"relatedSolution":101},34,"deployer-avec-dokku","Deploy your applications with Dokku on a VPS","Deploy your apps with Dokku, the smallest PaaS on the market: git push, Heroku buildpacks and automatic SSL on a lightweight VPS.",258,"2026-05-17T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[99],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-dokku-poster.svg",{"categorySlug":18,"appSlug":102},"dokku",{"id":104,"slug":105,"title":106,"excerpt":107,"readTime":81,"views":108,"isPinned":13,"publishedAt":109,"category":110,"categories":111,"featuredImage":22,"bgImage":23,"posterImage":113,"relatedSolution":114},35,"deployer-avec-portainer","Deploy your applications with Portainer on a VPS","Manage Docker visually with Portainer on your VPS: containers, stacks, volumes and networks managed from a clear web interface.",295,"2026-05-16T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[112],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-portainer-poster.svg",{"categorySlug":18,"appSlug":115},"portainer",1785628428601]