Homelabs are the playgrounds of tech enthusiasts—an environment where you can experiment, learn, and build without the constraints of a corporate IT setting. Today, I’m excited to share a detailed look at my current homelab architecture, which I’ve refined over time to meet my needs. This setup combines the power of virtualization, container orchestration, and robust networking into a cohesive system. Let’s dive in, from the top of the stack to the bottom!
1. The Gateway: ISP Router
At the top of the hierarchy sits the ISP Router, the gateway to the internet. This router is provided by my internet service provider and handles all incoming and outgoing traffic between my home network and the outside world. It’s configured with basic firewall rules, acting as the first line of defense against unwanted traffic. The ISP router is also responsible for managing the initial routing tasks before handing off internal traffic to my home router.
2. The Hub: Home Router
Beneath the ISP router is my Home Router, the central hub of my homelab. This router is crucial for managing both wired and wireless connections within my home. It’s connected to the ISP router and takes charge of all internal traffic, ensuring devices in my network can communicate efficiently. The home router also acts as the primary gateway for accessing both local resources and the internet.
3. The Brain: Raspberry Pi 4 and NAS
To the side, you’ll find a Raspberry Pi 4 connected to a NAS (Network Attached Storage). The Raspberry Pi 4 is a versatile, low-power device that manages the NAS, providing a centralized storage solution for my network. This setup allows me to store and share files across my devices, ensuring data is accessible from anywhere within the network. The NAS is particularly useful for backups, media storage, and other files that need to be available 24/7.
4. The Backbone: Network Switch
The Network Switch sits below the home router, serving as the backbone of my wired network. This device expands the number of available network ports, allowing multiple devices to connect via wired connections. A wired setup offers greater stability and speed compared to Wi-Fi, which is essential for bandwidth-intensive applications like virtualization and data transfer. The switch plays a key role in maintaining the performance and reliability of my homelab.
5. The Powerhouses: Proxmox Instances
Connected to the network switch are three Proxmox instances running on various laptops and possibly other hardware. Proxmox is a powerful open-source platform for managing virtual machines (VMs) and containers. Each instance in my homelab hosts multiple VMs and containers, providing the flexibility to run different operating systems and applications. This setup allows me to create isolated environments for testing, development, and production, all within the confines of my home network.
6. The Orchestrator: K3s Load Balancer
To the left of the Proxmox instances is the K3s Load Balancer. K3s is a lightweight Kubernetes distribution tailored for resource-constrained environments like homelabs. The load balancer ensures that network traffic is evenly distributed across the nodes in my K3s cluster, preventing any single node from becoming a bottleneck. This orchestration is crucial for maintaining high availability and efficient resource utilization, especially when running multiple containerized applications.
7. The Muscle: Main Server and Devices
On the right side of the diagram, there’s a Main Server connected to the network switch. This server likely hosts more resource-intensive applications or critical services that require dedicated hardware. Alongside the server are various other devices like laptops, possibly an external hard drive, and other peripherals. Each device contributes to the overall functionality and capability of the homelab, whether it’s for general computing tasks or specialized workloads.
8. The Services: Applications and Tools
At the bottom of the diagram, we see the real value of the homelab: the diverse range of applications and services deployed across the infrastructure. Here’s a snapshot of what’s running:
- Traefik & Nginx: These reverse proxies manage incoming traffic, directing it to the appropriate backend services hosted on VMs or containers.
- Rancher: A GUI-based tool for managing Kubernetes clusters, making it easier to deploy, monitor, and scale containerized applications.
- MySQL & PostgreSQL: Databases running in separate containers, each serving different applications or development projects.
- Jupyter, VS Code, PySpark: Tools for data science, development, and big data processing, allowing me to work on complex projects directly within the homelab.
- WordPress: My personal blog is hosted on WordPress, running in a container managed by K3s for easy updates and scaling.
- Nextcloud: A personal cloud storage solution synced with the NAS, providing access to files across all devices.
- Home Assistant: The brain behind my smart home, automating tasks and integrating IoT devices seamlessly.
- Vaultwarden: A self-hosted password manager, ensuring my credentials are securely stored and accessible only within my private network.
Conclusion
My homelab is more than just a collection of hardware and software—it’s a dynamic environment where I can experiment, learn, and create. From virtualization with Proxmox to container orchestration with K3s, each component plays a critical role in making the homelab functional and efficient. This setup allows me to explore new technologies, build and deploy applications, and manage my digital life with full control over the infrastructure.
Whether you’re a seasoned homelabber or just getting started, I hope this tour of my setup inspires you to build, experiment, and enjoy the limitless possibilities that a well-designed homelab can offer.
4o
You said:
also add a section before “8. The Services: Applications and Tools. ” about my k3s cluster. It is high available 9 nodes cluster spread across 5 different machines. It has 4 master nodes and 5 agent. out of 5 machines, 3 machines have 1 master and 1 agent running on proxmox vm with resource ratio of 1:4. 1 machine is running agent baremetal which generally run gpu extensive applications. Last machine is running 1 master and agent nodes.

Leave a Reply