Skip to content
This repository was archived by the owner on Apr 7, 2026. It is now read-only.

khaddict/homelab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

263 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Homelab

1) Introduction 👨🏻‍💻

The goal of this project is to experiment and practice on a daily basis with technologies used as a Site Reliability Engineer (SRE), to set up personal projects, and, of course, to have my own little data center at home (because that's cool, right?).

2) Hardware 🛰

  • [x3] GEEKOM Mini IT13 Mini-PC Intel Core i9 upgraded to 64GBLink
  • [x1] TP-Link TL-SG108E 8-Port Gigabit Ethernet SwitchLink

3) Issues 📝

Issues are written in both English and French for convenience.
I use them to write down ideas and things to do, and it's often easier to do this in my native language.

📍 Homelab issues

4) System and Network Architecture Diagram 🌐

For now, I'll summarize my setup with a screenshot of my homepage.
A proper system and network architecture diagram will be added later (when I have time to make it clean and organized).

image

5) Infrastructure Overview 🌟

image

My environment consists of a three-node Proxmox VE cluster for virtual machines. The majority of VMs run Debian 13 (Trixie), provisioned via StackStorm and managed with SaltStack. High availability is provided by Proxmox VE HA with Ceph. The stack includes:

  • 🔐 main.homelab.lan ➞ The main entry point to my infrastructure.

    • All SSH access to other machines is blocked by default.
    • This machine can access all others and is actively monitored.
    • Any connection from a non-whitelisted IP triggers a Discord notification.
    • It is also responsible for pushing changes to GitHub and pulling updates for /srv/salt to saltmaster.homelab.lan upon receiving push events.
  • 🧂 saltmaster.homelab.lanSaltStack

    • The Salt master manages all my minions (other VMs).
    • Whenever something is pushed to GitHub, main.homelab.lan pulls /srv/salt from this machine to apply state configurations.
  • 🤖 stackstorm.homelab.lanStackStorm

    • Automates various actions, including VM creation, SSL certificate generation, resource provisioning in NetBox, PowerDNS automation, and more.
  • 📦 netbox.homelab.lanNetBox

    • Inventory of all homelab resources: IP addresses, VMs, network interfaces, etc.
  • 🔑 vault.homelab.lanVault

    • A key-value secrets management vault.
    • Secrets can be accessed by various tools through plugins and integrations.
  • 📂 ldap.homelab.lan ➞ LDAP authentication server.

    • Currently used by Proxmox nodes and Grafana.
  • 🔥 prometheus.homelab.lanPrometheus

    • A monitoring and alerting system.
    • Uses Prometheus and Alertmanager.
  • easypki.homelab.lan ➞ Internal Certificate Authority (CA).

    • stackstorm.homelab.lan manages certificate issuance through automated workflows.
  • ntp.homelab.lanChrony NTP Server

    • Provides time synchronization for all VMs without relying on external sources.
  • 📊 grafana.homelab.lanGrafana

    • Visualization for monitoring dashboards: ELK status, VM performance, and more.
  • 📜 elk.homelab.lanElastic Stack

    • A centralized logging system using Elasticsearch, Logstash, and Kibana.
    • Collects logs via rsyslog, processes them, and presents dashboards.
  • 🚀 api.homelab.lanFastAPI

    • An API server for practice and development.
  • 📚 pdns.homelab.lanPowerDNS Authoritative Server

    • Authoritative DNS server.
  • 📗 recursor.homelab.lanPowerDNS Recursor

    • Recursive DNS resolver.
  • 🐳 docker.homelab.lanDocker

    • Dedicated machine for building and deploying containerized applications.
  • 👷🏻‍♂️ build.homelab.lan ➞ Machine for building Debian packages.

  • 🐧 aptly.homelab.lanAptly

    • Manages Debian package repositories.
  • 🔀 revproxy.homelab.lan ➞ Reverse proxy server.

    • Handles outbound traffic for services like khaddict.com.
  • 💻 kcli.homelab.lan ➞ Kubernetes CLI for managing the cluster.

  • 🔩 kworker0[1-3].homelab.lan ➞ Kubernetes worker nodes.

  • 🔧 kcontrol0[1-3].homelab.lan ➞ Kubernetes control plane nodes.

  • 🧠 ai.homelab.lan ➞ Artificial Intelligence experimentations.

  • 🟢 uptimekuma.homelab.lan ➞ Uptime Kuma to monitore services.

  • 💾 pbs.homelab.lanProxmox Backup Server

    • Proxmox Backup Server for backing up & restoring VMs.
    • Local NFS storage to handle Proxmox backups.
    • Synchronization to Shadow Drive :

    image

This documentation provides an overview of my homelab and the various technologies I am working with. More details will be added over time as I refine and expand my setup.

About

Exploring SRE technologies, building personal projects, and creating my own home datacenter.

Resources

Stars

Watchers

Forks

Contributors