https://github.com/serpro69/ktchn8s
Home-cooked k8s ☸ homelab that just works ⚛ ...served hot ♨ Don’t burn the nodes! 👾
https://github.com/serpro69/ktchn8s
argocd gitops homelab homelabbing k3s k8s kubernetes metal self-hosted
Last synced: 7 months ago
JSON representation
Home-cooked k8s ☸ homelab that just works ⚛ ...served hot ♨ Don’t burn the nodes! 👾
- Host: GitHub
- URL: https://github.com/serpro69/ktchn8s
- Owner: serpro69
- License: other
- Created: 2025-05-27T20:05:49.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-06-25T08:52:05.000Z (7 months ago)
- Last Synced: 2025-06-25T09:26:07.930Z (7 months ago)
- Topics: argocd, gitops, homelab, homelabbing, k3s, k8s, kubernetes, metal, self-hosted
- Language: Makefile
- Homepage: https://serpro69.github.io/Ktchn8s/
- Size: 12.5 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ktchn8s
_...there's no place like_ `~`
🚧 Fork in progress, expect some dust 🚧
[](https://github.com/serpro69/ktchn8s/tags)
[](https://opensource.org/license/mit)
[](https://github.com/serpro69/ktchn8s)
[](https://serpro69.github.io/ktchn8s)
> `/ˈkɪtʃ.ən.eɪts/` (“Kitch-en-ates”)
A K8s ☸️ homelab cluster 👾
...right in your kitchen 🚀💥
**[:material-star-circle-outline: Features](#features) ⟩ [:material-rocket-launch: Getting Started](#getting-started) ⟩ [:material-file-document-multiple: Documentation](https://serpro69.github.io/ktchn8s)**
---
## About
This project utilizes [Infrastructure as Code](https://en.wikipedia.org/wiki/Infrastructure_as_code) and [GitOps](https://www.weave.works/technologies/gitops) to automate provisioning, operating, and updating self-hosted services in my homelab.
It can also be used as a framework to build your own homelab.
If you encounter an issue or want to contribute a fix or an improvement, please create [a bug issue](https://github.com/serpro69/ktchn8s/issues/new?template=bug.md).
If you have a question or want to chat about this project, please create [a new discussion](https://github.com/serpro69/ktchn8s/discussions/new/choose).
## Overview
This project is still in the experimental stage. This means, among other things, that:
- There might be breaking changes that may require a complete redeployment.
- A proper upgrade path is planned for the stable release.
More information can be found in the [roadmap](https://serpro69.github.io/ktchn8s/info/roadmap/).
### Hardware

- Network:
- Cisco C1111-8P Router
- Cisco C3560-GS-8P Switch
- Eero 6 Router (used as access-point for WiFi at home)
- Servers:
- 3 × Lenovo Tiny M70q Gen.3
- CPU: `Intel Core i5-12400T`
- RAM: `16GB DDR4`
- SSD: `256GB`
- 2 × Lenovo Tiny M70q Gen.2
- CPU: `Intel Core i5-11400T`
- RAM: `16GB DDR4`
- SSD: `256GB`
- 7 × Lenovo Tiny M720q
- CPU: `Intel Core i5-8100T`
- RAM: `16GB`
- SSD: `512GB`
### Features
- [x] Common applications: Gitea, Jellyfin, Paperless...
- [x] Automated bare metal provisioning with PXE boot
- [x] Automated Kubernetes installation and management
- [x] Installing and managing applications using GitOps
- [x] Automatic rolling upgrade for OS and Kubernetes
- [ ] Automatically update apps (with approval)
- [x] Modular architecture, easy to add or remove features/components
- [x] Automated certificate management
- [x] Automatically update DNS records for exposed services
- [ ] VPN (Tailscale or Wireguard)
- [x] Expose services to the internet securely with [Cloudflare Tunnel](https://www.cloudflare.com/products/tunnel/)
- [x] CI/CD platform
- [x] Private container registry
- [ ] Distributed storage
- [ ] Support multiple environments (dev, prod)
- [ ] Monitoring and alerting
- [ ] Automated backup and restore
- [x] Single sign-on
- [x] Infrastructure testing
Some demo videos and screenshots are shown here.
They can't capture all the project's features, but they are sufficient to get a concept of it.
| Demo |
| :--: |
| Homepage powered by... [Homepage](https://gethomepage.dev) |
| [![][homepage-demo]][homepage-demo] |
| Git server powered by [Gitea](https://gitea.io/en-us) |
| [![][gitea-demo]][gitea-demo] |
| Continuous deployment with [ArgoCD](https://argoproj.github.io/cd) |
| [![][argocd-demo]][argocd-demo] |
[homepage-demo]: https://github.com/user-attachments/assets/8b2680c1-53e1-47c5-818d-08d3502f144b
[gitea-demo]: https://github.com/user-attachments/assets/f3775815-6c55-4086-b15a-8e0562e5d6a6
[argocd-demo]: https://github.com/user-attachments/assets/bdd91804-2e10-4910-8cf6-afa15e433178
## Getting Started
[Deploy on real hardware](https://serpro69.github.io/ktchn8s/installation/production) for production workload.
## Roadmap
See [roadmap](https://serpro69.github.io/ktchn8s/info/roadmap/) and [open issues](https://github.com/serpro69/ktchn8s/issues) for a list of proposed features and known issues.
## Contributing
Any contributions you make are greatly appreciated.
Please see [contributing guide](https://serpro69.github.io/ktchn8s/info/contributing/) for more information.
## License
Copyright © 2025 - present, [serpro69](https://github.com/serpro69)
Distributed under the MIT License.
See [license page](https://serpro69.github.io/ktchn8s/info/license) or [`LICENSE.md`](https://github.com/serpro69/ktchn8s/blob/master/LICENSE.md) file for more information.