This project utilizes Infrastructure as Code and GitOps 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.
What is a homelab?
Homelab is a laboratory at home where you can self-host, experiment with new technologies, practice for certifications, and so on. For more information about homelab in general, see the r/homelab introduction.
This section provides a high level overview of the project. For further information, please see the documentation.
TODO
Project status: Alpha (see roadmap below)
- Common applications: Gitea...
- Automated Kubernetes installation and management
- Installing and managing applications using GitOps
- Automatic rolling upgrade for OS and Kubernetes
- Automatically update apps (with approval)
- Modular architecture, easy to add or remove features/components
- Automated certificate management
- CI/CD platform
- Private container registry
- Distributed storage
- Automatically update DNS records for exposed services
- Monitoring and alerting 🚧
- Automated offsite backups 🚧
- Single sign-on 🚧
Distributed under the GPLv3 License.
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
).
If not, see https://www.gnu.org/licenses.
c14a611bfad59061f8546409ac5f940186bf24e9
- README template
- Run the same Cloudflare Tunnel across many
cloudflared
processes - MAC address environment variable in GRUB config
- Official k3s systemd service file
- Official Cloudflare Tunnel examples
- Initialize GitOps repository on Gitea and integrate with Tekton by RedHat
- SSO configuration from xUnholy/k8s-gitops
- Pre-commit config from k8s-at-home/flux-cluster-template
Here is a list of the contributors who have helped to improve this project. Big shout-out to them!
If you feel you're missing from this list, feel free to add yourself in a PR.