My Homelab

My Homelab: What's Inside and Why I Built It

Since January, I’ve been building and refining my homelab — a personal tech playground where I run services, experiment with new tools, and learn by doing. Whether it’s self-hosting apps, running game servers, or just tinkering, the homelab gives me full control and ownership over my digital infrastructure.

Here’s a look at what’s inside my homelab and why I built it.


Why I Built a Homelab

The main reasons:

  • Learning: There’s no better way to learn networking, Linux, virtualization, and system administration than to break things yourself.
  • Privacy: I prefer self-hosted alternatives to cloud services that harvest data.
  • Cost Control: No recurring subscriptions for services I can run myself.

Main Location (MA1)

Those are the backbones of my lab:

  • Main Server (Dell Optiplex 5060):
    • CPU: Intel Pentium Gold (2 cores / 4 threads)
    • RAM: 24GB DDR4
    • Storage: 2x 256GB SSD (RAID 1) + 3x 3TB HDD (RAID 1, and 1 Hotspare)
    • OS: Ubuntu 24.04.03 LTS (Soon RHEL when i have time)
    • Services: NGINX Reverse proxy, TG Bots, backup crontabs
  • Build Server (Dell Poweredge R730)
    • CPU: 2x Intel XEON E5-2697Av4 (32 cores / 64 threads)
    • RAM: 116GB DDR4 LRDIMM (2400MHZ)
    • Storage: 2x 2TB NVME (RAID 0) 2x 512GB Sata (RAID 1, Boot drives)
    • OS: PVE
  • Misc Server (Dell WYSE 3040)
    • CPU: Intel Atom (4 cores / 4 threads)
    • RAM: 2GB LPDDR3
    • Storage: 8GB eMMC
  • Power Backup:
    • APC UPS for clean shutdowns and surge protection

Colocation (MA2)

  • Main Test Server (Dell Precision 3620)
    • CPU: Intel Core i7-7700K
    • Boot Drive: 512GB SATA SSD (RAID 1)
    • Additional Storage: 2TB NVMe SSD
    • Runs PVE, and whatever im working on At the moment, sorta as a test bench)
  • Gitlab Host (Generic Office PC)
    • CPU: Intel Core i7-4790
    • RAM: 16GB DDR3
    • Storage: 2 × 256GB SSDs (RAID 1)

Synology DS215+ NAS

  • Storage: 2 × 3TB HDDs (RAID 1)
  • Role: Network storage, backups, and media archive

Services Running

These are some of the services currently active in my homelab:

Ghost Blog

  • Self-hosted here
  • Running on Node.js with MySQL
  • Reverse proxied through Nginx

Nextcloud

  • For syncing files, calendar, and contacts across my devices
  • Replaces Google Drive and Dropbox

Game Servers

  • Minecraft server for friends

Mail Server

Git Servers

  • Gitlab at https://git.extremerom.org
  • Gitea at https://git.perfc.org
  • Forgejo at https://git.osrott61.me

Dockerized Apps

Using Docker Compose to run and manage:

  • Uptime Kuma – for service monitoring
  • Portainer – for managing containers
  • Pi-hole – local DNS and ad blocking

Monitoring & Metrics

  • Grafana + Prometheus for dashboards
  • Netdata for real-time system stats
  • Uptime Kuma – for service monitoring

Domain & Access

I run my services behind Nginx as a reverse proxy with SSL certificates managed by Cloudflare. All external access is routed through Tailscale, and SSH is not possible from outside.


Security Measures

  • No open SSH ports (besides the ones for my Git's)
  • Firewall rules for all services
  • Only 4 open ports (443, and the 3 ssh ports)
  • Intrusion detection and fail2ban
  • Daily backups via rsync to my Synology NAS

Projects in Progress

  • Setting up ZFS for better storage management
  • Building a media server with Jellyfin
  • Exploring Ansible for automated provisioning
  • Planning to add a small ARM cluster (RPi or similar)