Gitea Actions 0f1f16c0d7
All checks were successful
Deploy / Deploy (push) Successful in 3s
Auto-update blog content from Obsidian: 2025-05-14 21:16:03
2025-05-14 21:16:03 +00:00

119 lines
3.8 KiB
Markdown

---
title: Welcome to My Homelab
layout: page
description: The story behind my homelab project
showToc: true
menu:
main:
weight: 20
params:
icon: flask
---
## Introduction
first raspberry pi first of his name in 2013 to discover linux and act as a NAS
then in 2015 a rapsberry pi 2 more powerful because the first raspberry pi was slow
and the last one in 2018, raspberry pi 3, for more RAM
finally in 2019 I bought tiny form factor headless pc, DeskMini A300, small yet powerful
My homelab journey began in 2013 with a humble Raspberry Pi, the very first model. I was needing a cheap machine to learn my first step into the world of Linux. It served as a basic NAS, though its limited power quickly became apparent. In 2015, I upgraded to a Raspberry Pi 2, seeking better performance. By 2018, the need for more RAM led me to a Raspberry Pi 3, allowing me to run more demanding applications. Finally, in 2019, I took a significant step forward with a DeskMini A300 — a compact yet powerful headless PC that laid the foundation for a more capable and versatile homelab.
## Why a Homelab ?
want to spawn VM, build kubernetes cluster
evolution of my setup
experiment
privacy
experience
## Shaping the Lab
### Specifications
what I want to be able to do :
- host my current services
- simulate enterprise environment
- 3 nodes
- distributed storage
- network / vlan
### Constraints
- space
- noise
- power
- budget
## Infrastructure Overview
### Rack
### Servers
### Network
### Cooling
### Photos
## Software Stack
### Hypervisor
### Network
### Application
#### Docker
#### Kubernetes
## Roadmap for my Lab
### Building my Homelab
- building the first proxmox node
- migrating from my headless PC to a VM
- building the second proxmox node with HDDs
- Install the rack
- Create the network
- Installating OPNsense
- Switching routing from my freebox to OPNsense
- Reconfigure my WiFi clients
- Build the third Proxmox node
- Externalize my HDDs
- Deploy VLAN
- Setup Proxmox Cluster
- Setup Ceph Storage
- Install fans
- Install ADguard Home along Unbound DNS
- Setup IPAM
- Install a bastion
### Let's Play
- Deploy a VM with Terraform
- Create a Terraform module
- Deploy Terraform infrastructure using Ansible
- Create a Blog
Welcome to my homelab — a space where I explore new technologies, break things on purpose, and learn by doing. What started as a few old machines has grown into a modest but powerful setup that I use for self-hosting, automation, testing infrastructure tools, and running personal projects.
## 1. Hardware
I currently run a 3-node cluster built with energy-efficient mini PCs and repurposed desktops. Here's a breakdown:
- **Node 1**: AMD Ryzen 4C/4T, 16GB RAM
- **Node 2**: AMD Ryzen 6C/6T, 16GB RAM
- **Node 3**: AMD Ryzen 8C/16T, 64GB RAM
- **Storage**: Ceph-based distributed storage across all nodes
- **Network**: 1Gbps LAN with 2.5Gbps NICs for Ceph replication traffic
- **Rack**: Compact 10" rack with managed switch and PDU
## 2. Software
- **Proxmox VE**: Used for virtualization and clustering
- **Ceph**: Distributed storage for VM disks
- **Kubernetes (K3s)**: For orchestrating containerized apps
- **Gitea**: Self-hosted Git with CI/CD via Gitea Actions
- **OPNsense**: Firewall, VLANs, and DNS (with AdGuard + Unbound)
- **Monitoring**: Grafana, Prometheus, Node Exporter
## 3. Projects
Some of the ongoing and past projects I've worked on:
- CI/CD automation using Gitea Actions
- GitOps pipeline for Kubernetes using ArgoCD
- Hugo-based personal blog hosted with Docker
- Home automation with Zigbee2MQTT and Home Assistant
- VPN and remote access via WireGuard
- Infrastructure as Code with Terraform and Ansible
---
If you're curious about any part of the stack or want to know how I built something specific, feel free to check the related blog posts!