Skip to content

My personal infrastructure and Kubernetes cluster written as code.

License

Notifications You must be signed in to change notification settings

chamburr/homelab

Repository files navigation

Homelab

My personal infrastructure and Kubernetes cluster written as code.

This project utilises Infrastructure as Code and GitOps to automate the provisioning, operating and updating of self-hosted services in my homelab. These services are essential for my everyday life. Furthermore, this repository can also serve as a good framework for you to build your own homelab.

Feel free to open a GitHub issue if you have any questions!

Installation

First, configure a bare metal Rocky Linux machine with reference to kickstart.ks. Then, install prerequisites in Brewfile and update Ansible and environmental variables. Finally, run ./scripts/bootstrap.sh to install everything on the server!

Core components

Logo Name Description
Ansible Bare metal provisioning and configuration
Flux GitOps operator for managing Kubernetes cluster
Kubernetes Orchestration system for managing containers
Rocky Linux Main operating system for infrastructure
Rook Ceph Cloud native block storage for Kubernetes
Talos Linux Base operating system for Kubernetes nodes
Terraform Provision resources on external environments
Traefik Cloud native ingress controller for Kubernetes
Vault Secrets and encryption management system

Hardware

My cluster currently consists of a single node with the following specifications.

  • CPU: Intel Xeon E5-2683v4
  • RAM: Micron 16GB DDR4 ECC x2
  • SSD: Samsung 980 NVMe 500GB
  • HDD: Seagate IronWolf 4TB x2

Acknowledgements

Special thanks to the Kubernetes @Home community for inspiration and support!

License

This project is licensed under the MIT License.

About

My personal infrastructure and Kubernetes cluster written as code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published