Home server - Architecture de déploiement
Flux simplifié du développement jusqu'à l'utilisateur final.
Introduction du projet
Ce projet centralise mon site personnel et mes services auto-hébergés sur une infrastructure maîtrisée de bout en bout.
L'objectif est d'avoir une chaîne de déploiement fiable, reproductible et sécurisée, du code jusqu'à la livraison au navigateur.
Schéma de fonctionnement
1. Code Next.js
Développement et tests du site dans le dépôt.
2. Commit & Push
Mise à jour Git vers la branche de déploiement.
3. GitHub Actions
Pipeline CI/CD déclenché automatiquement.
4. Dockerfile
Build de l'image de production de l'application.
5. Docker Compose
Déploiement ou recréation du service sur le serveur.
6. Nginx reverse proxy
Redirection HTTPS vers le conteneur Next.js.
7. UFW + Fail2ban
Filtrage réseau et blocage des tentatives abusives.
8. Routeur / NAT
Transfert des ports publics vers le serveur.
9. DNS + Domaine
Résolution du domaine vers l'IP publique avec une certification SSL/TLS.
10. Utilisateur
Le navigateur reçoit le site en production.