Home Infrastructure : Self-hosting sur VPS OVH
Infrastructure self-hostée sur VPS OVH : reverse proxy Traefik, authentification Authelia, monitoring Prometheus/Grafana/node_exporter, cache Dragonfly, object storage Garage, messaging Redpanda/NATS — déploiement via Docker Compose avec réseau proxy externe.
L’Objectif
Mettre en place une infrastructure personnelle sur un VPS OVH (Ubuntu), capable d’héberger plusieurs services avec TLS automatique, authentification centralisée et monitoring complet — le tout via Docker Compose. Au-delà du socle réseau/auth/observabilité, l’infra inclut aussi des briques data inspirées des services cloud managés (object storage, cache mémoire, message streaming), pour expérimenter ces patterns en dehors d’un contexte AWS/GCP.
Architecture
Réseau proxy externe
Tous les services partagent un réseau Docker proxy externe. Traefik est le seul point d’entrée exposé publiquement. Les services internes ne publient aucun port directement : ils communiquent uniquement via ce réseau.
networks:
proxy:
external: true
Reverse proxy Traefik
Traefik gère la terminaison TLS (Let’s Encrypt via challenge DNS) et le routage vers les services via labels Docker. Chaque conteneur déclare sa propre règle de routage sans modifier la config centrale.
Authentification Authelia
Authelia s’intercale comme middleware d’authentification. Les services sensibles (Grafana, dashboard Traefik) demande une session valide avec clé A2F avant de laisser passer la requête.
Note: Authelia ne convient plus pour mon usage, le service est orienté portail web, et j’ai besoin de pouvoir authentifier certains services par API. Authentik serait donc un bon prétendant
Monitoring Prometheus / Grafana
- node_exporter collecte les métriques système (CPU, RAM, disque, réseau)
- Prometheus scrappe les targets toutes les 15 secondes
- Grafana expose des dashboards temps réel avec alerting sur les seuils critiques
Cache mémoire Dragonfly
Dragonfly remplace Redis comme cache applicatif sur l’infra, il sert de couche de cache pour plusieurs services hébergés sur le VPS.
Object storage Garage
Garage fournit un stockage objet compatible S3, auto-hébergé. La configuration et les tests sont faits (buckets, policies d’accès).
Messaging Redpanda & NATS
Deux brokers de messages cohabitent sur l’infra pour explorer différents patterns d’event streaming :
- Redpanda (compatible API Kafka) pour du event streaming durable et du replay de messages
- NATS pour de la messagerie légère pub/sub et request/reply à faible latence
Le setup est fonctionnel et validé avec des messages de démonstration. l’objectif est de mettre à disposition ces services pour mes projets futurs, et mes tests de laboratoire :).
Ce que j’ai appris
J’ai dû gérer différents problèmes : gestion des secrets via fichiers .env hors dépôt, debug réseau inter-conteneurs, et tuning des alertes pour éviter le bruit.
Dragonfly, Garage, Redpanda et NATS ont aussi été l’occasion de comprendre par la pratique des patterns qu’on retrouve côté cloud managé (S3, ElastiCache, Kinesis/SQS) : configuration de policies d’accès, compatibilité de protocole comme contrainte de migration. Avec 2 broker, un orienté durabilité/replay (Redpanda) et un broker orienté latence (NATS), ça me permet de mieux comparer les 2 philosophies