Retour aux projets
· juillet 2026

Infrastructure NAS auto-hébergée

Homelab auto-hébergé sur NAS Linux : containerisation Docker de l'ensemble des services personnels (serveur multimédia avec transcodage matériel, applications web, outils de suivi), accès distant sécurisé sans port ouvert (Tailscale + tunnel Cloudflare), supervision et alerting temps réel via bot Telegram, sauvegardes automatisées.

Contexte

Une vingtaine de services personnels (serveur multimédia, applications web, outils de suivi) tournent sur un NAS Linux à domicile. Le besoin : les rendre accessibles depuis l'extérieur sans jamais ouvrir de port sur la box internet, tout en restant supervisables et fiables sans intervention manuelle constante.

Approche

Migration de l'ensemble des services vers Docker Compose (configuration mutualisée, remplacement d'unités systemd éparpillées), moteur Docker natif supervisé via Portainer. Accès distant à deux niveaux : Tailscale (VPN mesh WireGuard) pour les appareils de confiance, complété par un tunnel Cloudflare pour les appareils non compatibles — le tunnel termine le TLS et route en interne, sans jamais exposer de port sur le routeur. Serveur multimédia avec transcodage matériel accéléré GPU, métadonnées et collections gérées automatiquement (le lecteur média n'ayant plus de système de plugins, ce rôle est repris par un outil dédié en tâche planifiée quotidienne). Supervision construite autour d'un bot de notification sur mesure : contrôle périodique de tous les services avec alerte uniquement sur changement d'état (évite le bruit de notifications répétées), alerte de seuil disque, sauvegardes nocturnes automatisées avec rotation, et commandes interactives (statut, redémarrage de service, consultation des logs) depuis le téléphone.

Défis techniques

Isoler plusieurs services web sur le même hôte sans conflit de port. Diagnostiquer une saturation CPU inattendue causée par un repli du transcodage matériel vers le logiciel sur une partie du catalogue vidéo (le GPU décode un codec en matériel mais pas l'autre) — résolu en identifiant le déclencheur réel (la gravure de sous-titres image) et en replanifiant les tâches de fond hors heures d'usage. Concevoir l'alerting pour qu'il reste actionnable (notifier sur les transitions d'état plutôt qu'à chaque contrôle) plutôt que source de fatigue d'alerte.

Résultat

Ensemble des services personnels administrable depuis un point unique (Portainer + bot de notification), accessible de partout sans port exposé, avec une supervision proactive (disponibilité, disque, sauvegardes) qui a permis de détecter et corriger plusieurs incidents avant qu'ils ne deviennent bloquants.

Technologies Docker Docker Compose Tailscale Cloudflare Tunnel Python Plex Portainer