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.