Prérequis
Pour suivre ce tutoriel, vous aurez besoin d'un serveur Linux (Ubuntu 22.04+), Docker et Docker Compose installés, et un nom de domaine pointant vers votre serveur.
Architecture de déploiement
Notre stack sera composée de trois éléments : votre application (dans un conteneur Docker), un reverse proxy Nginx (dans un autre conteneur), et Certbot pour les certificats SSL Let's Encrypt. Docker Compose orchestre le tout.
Créer le Dockerfile de l'application
Commencez par containeriser votre application. Que ce soit un site statique Astro, une app React ou une API Node.js, le principe est le même : un Dockerfile multi-stage qui build puis serve votre application.
Configurer Nginx comme reverse proxy
Nginx va recevoir le trafic HTTPS et le rediriger vers votre conteneur applicatif. La configuration inclut la gestion des headers de sécurité, la compression gzip, et le caching des assets statiques.
Automatiser avec Docker Compose
Docker Compose simplifie le déploiement en décrivant toute votre stack dans un fichier YAML. Un simple docker compose up -d lance l'ensemble de vos services.
SSL automatique avec Certbot
Let's Encrypt fournit des certificats SSL gratuits. Certbot renouvelle automatiquement vos certificats avant leur expiration. Plus d'excuse pour ne pas avoir HTTPS.
Besoin d'aide pour vos déploiements ? Notre équipe DevOps à Rabat gère votre infrastructure de A à Z.