Homelab Raspberry Pi

Raspberry Pi Homelab

janvier 2025

January 2025

Raspberry Pi 5LinuxApacheDockerLet's Encryptn8nNextcloud
Schéma d'architecture du homelab : Internet, Apache reverse proxy, services bare metal et conteneurs Docker sur un Raspberry Pi 5 / Homelab architecture diagram: Internet, Apache reverse proxy, bare-metal services and Docker containers on a Raspberry Pi 5
L'architecture du homelab : un seul Apache en frontal, qui route vers les services bare metal et les conteneurs Docker.
The homelab's architecture: a single Apache in front, routing to bare-metal services and Docker containers.

Auto-hébergement d’une stack complète sur un Raspberry Pi 5 : un serveur Apache unique en frontal sur 80/443, qui route vers chaque service selon le domaine demandé. Les services dynamiques (WordPress, Nextcloud) tournent en bare metal, les sites statiques dans des conteneurs Docker exposés uniquement sur 127.0.0.1.

Ce que j’ai mis en place

  • VirtualHosts Apache séparés par domaine (HTTP→HTTPS, HTTPS proxifié pour les conteneurs)
  • Conteneurs Docker bornés en RAM/CPU pour éviter qu’un service mange tout
  • Renouvellement automatique des certificats Let’s Encrypt
  • Pi-hole en DNS local pour bloquer la pub sur tout le réseau domestique
  • n8n pour automatiser quelques tâches (notifs, monitoring)

Ce que j’en ai appris

Au-delà du apt install, comprendre concrètement comment cohabitent plusieurs services sur un même point d’entrée réseau : routage par Host: header, isolation par conteneurs, limites de ressources avec les cgroups, gestion fine des logs et de la rotation.

Self-hosting a full stack on a Raspberry Pi 5: a single Apache server in front on 80/443, routing to each service based on the requested domain. Dynamic services (WordPress, Nextcloud) run bare metal, static sites run in Docker containers exposed only on 127.0.0.1.

What I set up

  • Apache VirtualHosts separated by domain (HTTP→HTTPS, HTTPS proxied for containers)
  • Docker containers bounded on RAM/CPU so no single service can eat everything
  • Automatic renewal of Let’s Encrypt certificates
  • Pi-hole as local DNS to block ads across the whole home network
  • n8n to automate a few tasks (notifications, monitoring)

What I learned

Beyond apt install, understanding concretely how several services coexist on a single network entry point: routing by Host: header, isolation through containers, resource limits with cgroups, fine-grained log management and rotation.