Hey folks!
I’ve been working on my homelab since January 2024 and thought I’d share a quick update on my setup so far.
Initially, I used a secondary laptop running Debian 12 with Docker Compose to host services like PiHole and Home Assistant. I also explored Docker Contexts to manage my homelab instead of using Docker Machine, which is now deprecated.
During this phase, I didn’t have many smart devices, so I started with a Phillips Wiz bulb and a TP-Link IR Motion Sensor, setting up a simple automation in Home Assistant. I also began experimenting with ESP32 microcontrollers, to connect and retreive data from temperature sensors and used MQTT to send them to Home Assistant.
After some time, I realized my laptop wasn’t designed to run 24/7. It overheated, and the fans got clogged, so I took a break from the homelab. Later, after browsing through various homelab communities, I decided to buy a refurbished Mini PC to replace my laptop and continue expanding my homelab.
Why I Went for Self-Hosting
Self-hosting has always been a major reason for building this homelab. Running my own services gives me:
- Control: I can manage and customize my services exactly how I want, without relying on external providers.
- Privacy: No more depending on third-party cloud services—my data stays in my hands.
- Cost Efficiency: Avoid subscription fees by running services on my hardware.
- Learning: Managing my own setup has been a great learning experience, helping me grow my technical skills.
Hardware
Dell Optiplex 3060 Micro
- CPU: Intel Core i5-9600 @ 3.10GHz
- RAM: 16GB DDR4 (upgraded from 8GB)
- Storage:
- 256GB NVMe SSD (Boot Drive)
- 1TB SATA SSD
- 2x 1TB WD Blue HDDs in an HDD Bay
Home Networking
I use a TP-Link Omada ER605 router and Omada Access Point for home networking. Omada’s SD-WAN system automates device management and configuration. I use the software controller running in a Linux VM.
Homelab Software
My homelab runs Proxmox, a bare-metal hypervisor that hosts multiple VMs and LXC containers. Here are some of the services running:
-
Home Assistant OS (VM)
- I use Home Assistant’s own OS to run the service.
-
AdGuard Home (LXC)
- Blocks ads at the DNS level. Another popular alternative is Pihole.
-
Omada SD-Wan Controller (LXC)
- Provides an easy interface to manage my network.
-
Tailscale (LXC)
- Provides secure remote access to my homelab when I’m away.
-
Jellyfin (LXC)
- Media server for streaming movies and TV shows.
-
Transmission (LXC)
- Open-source torrent client.
-
Syncthing (LXC)
- Syncs folders between devices on my network.
-
Caddy Server (LXC)
- Acts as a reverse proxy to make accessing services easier.
-
Prometheus & Grafana (LXC)
- Collects and visualizes metrics for my homelab.
-
Immich (VM)
- A self-hosted alternative to Google Photos.
This setup covers most of my homelab services so far.
I want to give a big shoutout to Tteck and the Proxmox Community Scripts for all the helpful resources and tools available for creating and setting up things on Proxmox.
In the next post, I’ll dive into setting up a domain name to securely access these services from anywhere.
Thanks for reading!