My home lab consists of a single mini PC with three HDDs configured in RAID 5, providing a usable storage capacity of 6TB. Additionally, I have a Raspberry Pi 4 with 8GB of RAM, which I use to run ARM-based containers, including Pi-hole, Tailscale, and more. While this setup may not be the best, it’s a good starting point for my projects.

I host most of my projects and applications on this setup, and some of them are tunneled through Cloudflare Zero Trust because it’s a cost-effective option (read: free). My plan is to invest in more storage and beefy computers to meet future requirements, but that will come with a larger budget. For now, I’m satisfied with what I have, as long as I don’t experience any issues like movies stuttering during streaming or my Telegram bot sending me notifications about service conditions.

Essentials

What I consider essential may not be the same for everyone else. It’s important for me to have a single place that stores my data, synchronizes all my devices, hosts my projects, and also provides entertainment for me.

Some of the services that I consider essential include:

  • Pi-hole: A Linux-based network-level advertisement and Internet tracker blocking application. It acts as a DNS sinkhole and optionally a DHCP server, primarily serving as a DNS server for my local network (accessible through *.home.lab on my WiFi) and a DNS sinkhole. I use my router as a DHCP server.
  • Tailscale: A VPN service that allows my devices and applications to be securely accessible from anywhere in the world. I use Tailscale to make certain services available when I’m away from home.
  • cloudflared: This service enables me to tunnel some of my apps for public accessibility, such as memos, uptime monitoring, and more.
  • Portainer: A container management software that simplifies the deployment, troubleshooting, and security of applications across various use cases, including cloud, datacenter, and Industrial IoT. I use Portainer to expedite the deployment of the apps I use and the projects I develop.
  • Jellyfin+: An entertainment platform for movies, series, and more.
  • Stump: The latest addition to my setup, Stump is an ODPS-enabled book management system. I’m still working on how to makei it compatible with Calibre, and eventually, easily accessible through my kindle. (Kindle sucks, because DRM etc.)
  • Grafana+: Together with Prometheus and other tools, Grafana forms the core of my monitoring setup.