Introduction
Configurer et gérer un environnement auto-hébergé peut être une entreprise enrichissante, surtout lorsque vous utilisez un serveur privé virtuel (VPS) pour héberger vos applications. Traefik, un proxy inverse moderne et un répartiteur de charge pour microservices, peut simplifier vos besoins de routage. Dans ce guide, nous allons explorer comment configurer Traefik pour gérer automatiquement les certificats SSL pour toutes vos applications Docker sur un VPS.
Configuration de Traefik sur votre VPS
Suivez ces étapes pour faire fonctionner Traefik sur votre VPS.
Exigences
- Un VPS (vérifiez notre comparaison complète des VPS)
- Docker et Docker Compose installés sur votre VPS
- Connaissances de base de Docker et des réseaux
Étape 1 : Choisissez votre fournisseur de VPS
Le choix du bon fournisseur de VPS impacte votre expérience d’auto-hébergement. Voici une comparaison des meilleurs fournisseurs :
| Fournisseur | Coût Mensuel (EUR/USD) | Notes |
|---|---|---|
| Contabo VPS | 5.99 EUR | Bonnes options de CPU et de stockage |
| Hetzner Cloud | 4.15 EUR | Abordable avec d’excellentes spécifications |
| DigitalOcean | 6 USD | Amical pour les développeurs avec plusieurs régions |
| Vultr | 6 USD | Options de facturation flexibles |
| Linode | 5 USD | Excellent support et communauté |
Étape 2 : Installer Docker et Docker Compose
Pour la plupart des distributions Linux, vous pouvez installer Docker et Docker Compose en utilisant les commandes suivantes :
# Mettre à jour l'index des paquets
sudo apt-get update
# Installer Docker
sudo apt-get install -y docker.io
# Installer Docker Compose
sudo apt-get install -y docker-compose
Étape 3 : Configuration du réseau Docker
Créez un réseau Docker pour Traefik et vos applications :
docker network create web
Étape 4 : Configuration de Traefik
Pour installer Traefik, créez un répertoire pour celui-ci :
mkdir traefik && cd traefik
Créez maintenant un fichier docker-compose.yml avec le contenu suivant :
version: '3.7'
services:
reverse_proxy:
image: traefik:v2.5
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=your-email@example.com"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./letsencrypt:/letsencrypt"
networks:
- web
networks:
web:
external: true
Assurez-vous de remplacer [email protected] par votre véritable adresse e-mail pour les notifications de Let’s Encrypt.
Étape 5 : Démarrer Traefik
Exécutez la commande suivante pour démarrer Traefik :
docker-compose up -d
Vous pouvez vérifier que Traefik fonctionne en accédant à http://YOUR_VPS_IP:8080, où vous trouverez le tableau de bord de Traefik.
Étape 6 : Déployer des applications Docker
Avec Traefik en cours d’exécution, vous pouvez déployer d’autres applications Docker en utilisant des labels pour vous intégrer à Traefik pour le routage et le SSL. Voici un exemple de configuration d’application :
version: '3.7'
services:
my_app:
image: my_app_image
labels:
- "traefik.enable=true"
- "traefik.http.routers.my_app.rule=Host(`yourdomain.com`)"
- "traefik.http.routers.my_app.entrypoints=websecure"
- "traefik.http.routers.my_app.tls=true"
- "traefik.http.routers.my_app.tls.certresolver=myresolver"
networks:
- web
Étape 7 : Accéder à votre application
Avec votre application déployée, vous pouvez y accéder en toute sécurité via https://yourdomain.com.
FAQs
Que faire si mon application n’a pas de domaine ou de sous-domaine ?
Utiliser Traefik nécessite que vous définissiez un domaine ou un sous-domaine pour l’émission de SSL via Let’s Encrypt. Si vous n’avez pas de domaine, envisagez d’enregistrer un auprès d’un registraire de domaine. Une autre option est d’utiliser un service DNS dynamique, que de nombreux fournisseurs prennent en charge, permettant de router le trafic de manière fiable sans domaine statique.
Comment Traefik gère-t-il les certificats SSL ?
Traefik s’intègre parfaitement avec Let’s Encrypt, une autorité de certification automatique qui délivre des certificats SSL gratuitement. En configurant Traefik avec des paramètres spécifiques dans le fichier docker-compose.yml comme indiqué ci-dessus, il demande et renouvelle automatiquement vos certificats SSL. Cela garantit que vos connexions aux applications Docker restent sécurisées sans intervention manuelle.
Traefik est-il adapté à un environnement de production ?
Oui, Traefik est conçu pour une utilisation en production, offrant une gestion SSL transparente et un support pour l’architecture des microservices. Avec des fonctionnalités telles que l’équilibrage de charge, la redirection automatique et un tableau de bord facile à comprendre, c’est un outil puissant pour tout environnement de production. Les entreprises, les développeurs et les hobbyistes ont utilisé avec succès Traefik dans divers environnements auto-hébergés.
Conclusion
Utiliser Traefik pour automatiser le SSL pour vos applications Docker sur un VPS simplifie le processus de gestion, améliore la sécurité et fait gagner du temps. Avec l’importance croissante du HTTPS, cette configuration est un investissement valable pour tout développeur ou hobbyiste. Bon auto-hébergement !