| Logo |
Name |
Description |
 |
Ansible |
Automate bare metal provisioning and configuration |
 |
ArgoCD |
GitOps tool built to deploy applications to Kubernetes |
 |
cert-manager |
Cloud native certificate management |
 |
Cilium |
eBPF-based Networking, Observability and Security (CNI, LB, Network Policy, etc.) |
 |
Cloudflare |
DNS and Tunnel |
 |
Docker |
Ephemeral PXE server |
 |
ExternalDNS |
Synchronizes exposed Kubernetes Services and Ingresses with DNS providers |
 |
Fedora Server |
Base OS for Kubernetes nodes |
 |
Gitea |
Self-hosted Git service |
 |
Grafana |
Observability platform |
 |
Helm |
The package manager for Kubernetes |
 |
K3s |
Lightweight distribution of Kubernetes |
 |
Kanidm |
Modern and simple identity management platform |
 |
Kubernetes |
Container-orchestration system, the backbone of this project |
 |
Loki |
Log aggregation system |
 |
NGINX |
Kubernetes Ingress Controller |
 |
Nix |
Convenient development shell |
 |
ntfy |
Notification service to send notifications to your phone or desktop |
 |
Prometheus |
Systems monitoring and alerting toolkit |
 |
Renovate |
Automatically update dependencies |
 |
Rook Ceph |
Cloud-Native Storage for Kubernetes |
 |
Tailscale |
VPN without port forwarding |
 |
Wireguard |
Fast, modern, secure VPN tunnel |
 |
Woodpecker CI |
Simple yet powerful CI/CD engine with great extensibility |
 |
Zot Registry |
Private container registry |
## Get Started
- [Try it out locally](https://homelab.khuedoan.com/installation/sandbox) without any hardware (just 4 commands!)
- [Deploy on real hardware](https://homelab.khuedoan.com/installation/production/prerequisites) for production workload
## Roadmap
See [roadmap](https://homelab.khuedoan.com/reference/roadmap) and [open issues](https://github.com/khuedoan/homelab/issues) for a list of proposed features and known issues.
## Contributing
Any contributions you make are greatly appreciated.
Please see [contributing guide](https://homelab.khuedoan.com/reference/contributing) for more information.
## License
Copyright © 2020 - 2024 Khue Doan
Distributed under the GPLv3 License.
See [license page](https://homelab.khuedoan.com/reference/license) or `LICENSE.md` file for more information.
## Acknowledgements
References:
- [Ephemeral PXE server inspired by Minimal First Machine in the DC](https://speakerdeck.com/amcguign/minimal-first-machine-in-the-dc)
- [ArgoCD usage and monitoring configuration in locmai/humble](https://github.com/locmai/humble)
- [README template](https://github.com/othneildrew/Best-README-Template)
- [Run the same Cloudflare Tunnel across many `cloudflared` processes](https://developers.cloudflare.com/cloudflare-one/tutorials/many-cfd-one-tunnel)
- [MAC address environment variable in GRUB config](https://askubuntu.com/questions/1272400/how-do-i-automate-network-installation-of-many-ubuntu-18-04-systems-with-efi-and)
- [Official k3s systemd service file](https://github.com/k3s-io/k3s/blob/master/k3s.service)
- [Official Cloudflare Tunnel examples](https://github.com/cloudflare/argo-tunnel-examples)
- [Initialize GitOps repository on Gitea and integrate with Tekton by RedHat](https://github.com/redhat-scholars/tekton-tutorial/tree/master/triggers)
- [SSO configuration from xUnholy/k8s-gitops](https://github.com/xUnholy/k8s-gitops)
- [Pre-commit config from k8s-at-home/flux-cluster-template](https://github.com/k8s-at-home/flux-cluster-template)
- [Diátaxis technical documentation framework](https://diataxis.fr)
- [Official Terratest examples](https://github.com/gruntwork-io/terratest/tree/master/test)
- [Self-host an automated Jellyfin media streaming stack](https://zerodya.net/self-host-jellyfin-media-streaming-stack)
- [App Template Helm chart by bjw-s](https://bjw-s-labs.github.io/helm-charts/docs/app-template)
- [Various application configurations in onedr0p/home-ops](https://github.com/onedr0p/home-ops)
Here is a list of the contributors who have helped to improve this project.
Big shout-out to them!
-