This project utilizes [Infrastructure as Code](https://en.wikipedia.org/wiki/Infrastructure_as_code) to automate provisioning, operating, and updating self-hosted services in my homelab.
It can be used as a highly customizable framework to build your own homelab.
| [Matrix](https://matrix.org/) chat server powered by [Element](https://matrix.org/docs/projects/client/element) and [Dendrite](https://matrix.org/docs/projects/server/dendrite) |
<imgwidth="32"alt="Ansible"src="https://simpleicons.org/icons/ansible.svg"> | [Ansible](https://www.ansible.com/) | Automate bare metal provisioning and configuration
<imgwidth="32"alt="ArgoCD"src="https://cncf-branding.netlify.app/img/projects/argo/icon/color/argo-icon-color.svg"> | [ArgoCD](https://argoproj.github.io/cd/) | GitOps tool built to deploy applications to Kubernetes
<imgwidth="32"alt="Cloudflare"src="https://avatars.githubusercontent.com/u/314135?s=200&v=4"> | [Cloudflare](https://www.cloudflare.com/) | DNS and Tunnel
<imgwidth="32"alt="Docker"src="https://www.docker.com/sites/default/files/d8/2019-07/Moby-logo.png"> | [Docker](https://www.docker.com/) | Ephermeral PXE server and convenient tools container
<imgwidth="32"alt="Gitea"src="https://upload.wikimedia.org/wikipedia/commons/b/bb/Gitea_Logo.svg"> | [Gitea](https://gitea.com/) | Self-hosted Git service
<imgwidth="32"alt="Helm"src="https://cncf-branding.netlify.app/img/projects/helm/icon/color/helm-icon-color.svg"> | [Helm](https://helm.sh/) | The package manager for Kubernetes
<imgwidth="32"alt="K3s"src="https://cncf-branding.netlify.app/img/projects/k3s/icon/color/k3s-icon-color.svg"> | [K3s](https://k3s.io/) | Lightweight distribution of Kubernetes
<imgwidth="32"alt="Kubernetes"src="https://cncf-branding.netlify.app/img/projects/kubernetes/icon/color/kubernetes-icon-color.svg"> | [Kubernetes](https://kubernetes.io/) | Container-orchestration system, the backbone of this project
<imgwidth="32"alt="Let's Encrypt"src="https://avatars.githubusercontent.com/u/9289019?s=200&v=4"> | [Let's Encrypt](https://letsencrypt.org/) | Free, automated (via [cert-manager](https://cert-manager.io)), and open certificate authority
<imgwidth="32"alt="Loki"src="https://github.com/grafana/loki/blob/main/docs/sources/logo.png?raw=true"> | [Loki](https://grafana.com/oss/loki/) | Log aggregation system
<imgwidth="32"alt="MetalLB"src="https://avatars.githubusercontent.com/u/60239468?s=200&v=4"> | [MetalLB](https://metallb.org/) | Bare metal load-balancer for Kubernetes
<imgwidth="32"alt="Prometheus"src="https://cncf-branding.netlify.app/img/projects/prometheus/icon/color/prometheus-icon-color.svg"> | [Prometheus](https://prometheus.io) | Systems monitoring and alerting toolkit
<imgwidth="32"alt="Rocky Linux"src="https://avatars.githubusercontent.com/u/75713131?s=200&v=4"> | [Rocky Linux](https://rockylinux.org/) | Base OS for Kubernetes nodes
<imgwidth="32"alt="Tekton"src="https://avatars.githubusercontent.com/u/47602533?s=200&v=4"> | [Tekton](https://tekton.dev/) | Cloud native solution for building CI/CD systems
<imgwidth="32"alt="Vault"src="https://simpleicons.org/icons/vault.svg"> | [Vault](https://www.vaultproject.io/) | Secrets and encryption management system
See [roadmap](https://homelab.khuedoan.com/roadmap) and [open issues](https://github.com/khuedoan/homelab/issues) for a list of proposed features and known issues.
This project is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This project is distributed in the hope that it will be useful, but **WITHOUT ANY WARRANTY**; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this project (`LICENSE.md`).