🏠 Homelab β€’ 2023–ongoing

Servers & Network for Personal Use

I repurposed Raspberry Pi devices and old computers into a multi-service home server network that hosts daily tools (cloud, media, dashboards) behind a secure reverse proxy. The system is containerized, observable, and easily reproducible.

Docker NGINX (Reverse Proxy) Pi-hole (DNS) DHCP Nextcloud Grafana Prometheus PHP / JS / WordPress Python FastAPI

πŸ” The Goal

Build a reliable, low-cost, low-power platform for personal services: private cloud, media streaming, self-hosted apps, ad-blocking DNS, monitoring, and simple web tools β€” all accessible on the LAN with clean routing, and manageable like a small production stack.

πŸ’‘ What I Built

  • 🧱 Containerization: All apps in Docker, isolated & portable
  • πŸ” Reverse Proxy (NGINX): Virtual hosts, TLS (local), request routing
  • 🧭 DNS (Pi-hole): Local domains, ad/tracker blocking
  • πŸ“‘ DHCP configs: Static leases for servers/services
  • ☁️ Nextcloud: Private file sync & notes
  • 🎬 Jellyfin: Streaming for home media library
  • πŸ“Š Grafana + Prometheus: Metrics & dashboards
  • 🌐 Websites: PHP/JS/WordPress hosting
  • 🐍 FastAPI: Small Python services & webhooks
  • πŸ§ͺ MLflow: Experiment tracking, model registry, and reproducible ML pipelines
  • πŸ“Š Glances: Lightweight, real-time system monitoring for CPU, memory, disk, network, and sensors
Homelab Grafana Dashboard
Homelab Grafana Dashboard (CPU, RAM, Network, I/O)
Homelab Portainer Dashboard
Homelab Portainer Dashboard (Containers, Services, Stats)

βš™οΈ Architecture

  • Hardware: Raspberry Pi 2 + Raspberry Pi 4 (ARM) + repurposed x64 PC
  • Networking: Pi-hole DNS + DHCP reservations; NGINX reverse proxy
  • Orchestration: Docker Compose stacks per service; bind-mounts for persistent volumes
  • Observability: Node exporters, Prometheus scrape, Grafana dashboards (CPU, RAM, I/O, network)
  • Backup: Disk replication ; Periodic Nextcloud + DB snapshots; config in git for quick rebuilds

πŸ“Š Outcomes

  • πŸš€ One-click (compose) deploys & rollbacks
  • 🧩 Modular β€” add/remove apps without touching the core
  • πŸ“‰ Low power usage via Pi nodes; x64 only for heavy apps
  • πŸ” Full visibility with Grafana/Prometheus

🧠 What I Learned / My Role

I designed and implemented the entire homelab: network plan, DNS/DHCP, reverse proxy, containers, monitoring, and CI-style updates. This project strengthened my skills in:

  • DevOps: Docker/Compose, config-as-code, backups, incremental upgrades
  • NetOps: DNS (Pi-hole), DHCP reservations, virtual hosts, TLS on LAN
  • Back-end: FastAPI micro-services, webhooks, service-to-service auth
  • Ops: Monitoring, alerting, capacity planning on mixed ARM/x64