DevOps2024-2025
Homelab Raspberry Pi
Infrastructure auto-hébergée complète sur Raspberry Pi 5 : plus de 15 conteneurs en cours d'exécution, monitoring Grafana et accès sécurisé Cloudflare.
DockerRaspberry PiGrafanaPrometheusCloudflareNginxLinuxNextcloudPi-hole
Infrastructure & Hardware
Serveur domestique basé sur Raspberry Pi 5 pour l'auto-hébergement de services personnels et professionnels.
Hardware :
- Raspberry Pi 5 Model B Rev 1.1 (16GB RAM)
- SSD NVMe 1 To, avec une partition principale de 500 Go
- Boîtier Pironman 5 avec ventilation active
- Alimentation officielle 27W USB-C
Système :
- Debian 12 (Bookworm) aarch64
- Kernel 6.6.74+rpt-rpi-2712
- Docker Engine avec plus de 15 conteneurs en cours d'exécution
Organisation des données :
- /srv/docker/ — Services principaux (Nextcloud, Jellyfin, monitoring, etc.)
- /srv/data/ — Données persistantes
- /srv/backups/ — Sauvegardes automatisées
- /home/user/docker/ — Services auxiliaires (Watchtower, Cloudflared)
16GB
RAM
1 To NVMe
Stockage
15+
Containers
24/7
Uptime

Portainer : 15 containers Docker avec statuts, images et stacks
Services Auto-hébergés
Plus de 15 conteneurs en cours d'exécution, couvrant stockage cloud, média, DNS et gestion d'infrastructure.
Cloud & Stockage :
- Nextcloud 29 — Cloud personnel avec synchronisation fichiers, contacts, calendrier
- MariaDB 11.4 — Base de données pour Nextcloud
- Redis 7 — Cache pour Nextcloud (sessions, file locking)
- Cron Nextcloud — Tâches planifiées (nettoyage, indexation)
Média & Divertissement :
- Jellyfin — Serveur média personnel (films, séries, musique)
- Streaming adaptatif et transcodage hardware
Réseau & DNS :
- Pi-hole — Serveur DNS avec blocage publicitaire réseau
- Résolution DNS pour tout le réseau local
- Listes de blocage personnalisées
Gestion Infrastructure :
- Portainer CE — Interface web de gestion Docker
- Visualisation des containers, logs, volumes, réseaux
- Déploiement de stacks via l'interface
Nextcloud
Cloud
Jellyfin
Média
Pi-hole
DNS
Portainer
Gestion

Pi-hole : 7200+ requêtes DNS, 11.8% bloquées, 75K domaines en blocklist
Monitoring & Observabilité
Stack de monitoring complète pour la surveillance temps réel du système et des containers.
Collecte de métriques :
- Prometheus — Base de données time-series, scraping toutes les 15s
- Node Exporter — Métriques système (CPU, RAM, disque, réseau)
- cAdvisor — Métriques containers (utilisation ressources par container)
Visualisation :
- Grafana — Dashboards interactifs et alerting
- Dashboard Node Exporter Full (métriques système détaillées)
- Dashboard Docker/cAdvisor (santé des containers)
- Alertes configurables (seuils CPU, RAM, disque)
Métriques collectées :
- CPU : utilisation, température, fréquence
- RAM : utilisée, disponible, cache, swap
- Disque : I/O, espace, latence
- Réseau : bandwidth, packets, erreurs
- Containers : CPU, mémoire, I/O par container
Prometheus
Métriques
Grafana
Dashboards
Node Exporter
Host
cAdvisor
Containers

Grafana : monitoring temps réel CPU, mémoire et réseau par container
Réseau & Sécurité
Architecture réseau sécurisée avec accès externe via tunnel Cloudflare et reverse proxy.
Accès externe :
- Cloudflared — Tunnel Cloudflare Zero Trust
- Pas d'ouverture de ports sur le routeur
- Chiffrement TLS de bout en bout
- Protection DDoS Cloudflare
Reverse Proxy :
- Nginx Proxy Manager — Gestion centralisée des proxies
- Certificats SSL Let's Encrypt automatiques
- Routing par domaine/sous-domaine
- Interface web de configuration
Réseaux Docker :
- proxy — Réseau pour les services exposés (NPM, Cloudflared)
- internal — Réseau isolé pour les services internes
- monitoring — Réseau dédié stack Grafana/Prometheus
Sécurité :
- Aucun port exposé directement sur Internet
- Authentification Cloudflare Access sur services sensibles
- Isolation réseau entre services
- Mises à jour automatiques via Watchtower
Cloudflare
Tunnel
NPM
Proxy
Let's Encrypt
SSL
0
Ports ouverts
Automatisation & CI/CD
Pipeline de déploiement continu pour les projets personnels avec mise à jour automatique des services.
Watchtower :
- Surveillance des registries Docker (Docker Hub, GHCR)
- Pull automatique des nouvelles images
- Redémarrage graceful des containers mis à jour
- Notifications de mise à jour
Pipeline Portfolio :
- GitHub Actions build l'image Docker à chaque push
- Push vers GitHub Container Registry (ghcr.io)
- Watchtower détecte la nouvelle image
- Déploiement automatique sur le Raspberry Pi
- Zero-downtime deployment
Workflow type :
1. git push sur main
2. GitHub Actions : build + push image
3. Watchtower : pull nouvelle image (< 5 min)
4. Container redémarré avec nouvelle version
5. Site live avec les changements
Backups :
- Scripts de backup automatisés
- Sauvegarde des volumes Docker
- Rétention configurable
- Stockage dans /srv/backups/
Watchtower
Auto-update
GitHub Actions
CI/CD
GHCR
Registry
< 5 min
Déploiement