Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timtorchen/homelab
🏡 My homelab uwu
https://github.com/timtorchen/homelab
home-operations homelab k8s-at-home kubesearch
Last synced: 6 days ago
JSON representation
🏡 My homelab uwu
- Host: GitHub
- URL: https://github.com/timtorchen/homelab
- Owner: timtorChen
- License: mit
- Created: 2020-08-19T09:57:15.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-08T09:04:10.000Z (14 days ago)
- Last Synced: 2024-12-08T21:40:03.807Z (14 days ago)
- Topics: home-operations, homelab, k8s-at-home, kubesearch
- Language: HCL
- Homepage:
- Size: 6.5 MB
- Stars: 15
- Watchers: 3
- Forks: 0
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### My Homelab :octocat:
... _progressing with [未来のミュージアム](https://www.youtube.com/watch?v=s8_vqfjYpBg)_ 🎧
[![Discord](https://img.shields.io/discord/673534664354430999?style=for-the-badge&label&logo=discord&logoColor=white&color=blue)](https://discord.gg/home-operations)
[![Talos](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.timtor.dev%2Fquery%3Fformat%3Dendpoint%26metric%3Dtalos_version&style=for-the-badge&logo=talos&logoColor=white&color=blue&label=%20)](https://www.talos.dev/)
[![Kubernetes](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.timtor.dev%2Fquery%3Fformat%3Dendpoint%26metric%3Dkubernetes_version&style=for-the-badge&logo=kubernetes&logoColor=white&color=blue&label=%20)](https://www.talos.dev/)
[![Renovate](https://img.shields.io/github/actions/workflow/status/timtorChen/homelab/renovate.yaml?branch=main&label=&logo=renovatebot&style=for-the-badge&color=blue)](https://github.com/onedr0p/home-ops/actions/workflows/renovate.yaml)[![Age](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.timtor.dev%2Fquery%3Fformat%3Dendpoint%26metric%3Dnode_age%26label%3D&style=flat-square&color=green&label=Age)](https://github.com/kashalls/kromgo/)
[![Node-Count](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.timtor.dev%2Fquery%3Fformat%3Dendpoint%26metric%3Dnode_count%26label%3D&style=flat-square&color=green&label=Node)](https://github.com/kashalls/kromgo/)
[![Pod-Count](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.timtor.dev%2Fquery%3Fformat%3Dendpoint%26metric%3Dpod_count%26label%3D&style=flat-square&color=green&label=Pod)](https://github.com/kashalls/kromgo/)
[![CPU-Usage](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.timtor.dev%2Fquery%3Fformat%3Dendpoint%26metric%3Dcpu_usage%26label%3D&style=flat-square&label=CPU)](https://github.com/kashalls/kromgo/)
[![Memory-Usage](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.timtor.dev%2Fquery%3Fformat%3Dendpoint%26metric%3Dmemory_usage%26label%3D&style=flat-square&label=Memory)](https://github.com/kashalls/kromgo/)
[![Power-Consumption](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.timtor.dev%2Fquery%3Fformat%3Dendpoint%26metric%3Dpower_consumption%26label%3D&style=flat-square&label=Power)](https://github.com/kashalls/kromgo/)---
## 📖 Overview
This is a mono repository for my home infrastructure and Kubernetes cluster. I use [Talos](https://github.com/siderolabs/talos) Kubernetes distribution, and follows the concept Infrastructure as Code (IaC), using the tools like [Flux](https://github.com/fluxcd/flux2), [Terraform](https://github.com/hashicorp/terraform), [Renovate](https://github.com/renovatebot/renovate) and [Github Actions](https://github.com/features/actions).
## Architecture
![](./docs/src/arch.png)
## 🚢 Technology Stack
| | Name | Description |
| :--------------------------------------------------------------------------------------------------------------------------------------------------: | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| | [Talos](https://github.com/siderolabs/talos) | Immutable Linux distribution for Kubernetes. |
| | [Flux](https://github.com/fluxcd/flux2) | Gitops tool to reconcile sources from Git repository to Kubernetes. |
| | [Kyverno](https://github.com/kyverno/kyverno) | Kubernetes policy manager. |
| | [Cilium](https://github.com/cilium/cilium) | Advanced networking. |
| | [Metallb](https://github.com/metallb/metallb) | IP address announcement and allocation for Kubernetes LoadBalancer. |
| | [Cloudflared](https://github.com/cloudflare/cloudflared) | Encrypted tunnel between server and Cloudflare. |
| | [Cert-manager](https://github.com/cert-manager/cert-manager) | Public and private certificate controller. |
| | [Ingress-nginx](https://github.com/Kubernetes/ingress-nginx) | Simple ingress controller. |
| | [Rook-ceph](https://github.com/rook/rook) | Ceph operator, providing block, object and file storage. |
| | [Volsync](https://github.com/backube/volsync) | Persistent Volume snapshot and backup. |
| | [CloudNativePG](https://github.com/cloudnative-pg/cloudnative-pg) | Postgres operator. |
| | [Grafana LG~~T~~M](https://github.com/grafana) | System monitoring. |
| | [Amazon-eks-pod-identity-webhook](https://github.com/aws/amazon-eks-pod-identity-webhook) | ServiceAccount token injection for Pod to access AWS. |## ☁️ Cloud Services
| Service | Usage | Cost |
| :------------ | :----------------------------------------- | :-------------- |
| Github | Code repository and automation chores/jobs | Free |
| JumpCloud | SSO identity provider | Free |
| Cloudflare | Domain registrar and tunnel | $10/year |
| Backblaze | S3 bucket for buckup | ~$1/month |
| AWS | Parameter storage and terraform backend | Free |
| Grafana Cloud | External montoring | Free |
| Let's Encrypt | Public certificate authroity | Free |
| | | Total ~$22/year |## 🔧 Hardware
Click to see the rack
| Device | Description | Count | RAM | Disk |
| ------------------------------- | ---------------------------- | ----- | -------------------------- | ------------------------------------------------------------------------- |
| Askey RTF8207W | Chunghwa Telecom modem | 1 | | |
| Mikrotik RB4011iGS+RM | Router | 1 | | |
| Mikrotik CRS328-24P-4S+RM | PoE Switch | 1 | | |
| Raspberry Pi 4B with PoE hat | Kubernetes control planes | 1 | 8GB | 960GB SSD Micron 5200 |
| Intel NUC11TNHi50L | Kubernetes worker nodes | 3 | 16\*2 Mircon CT16G4SFRA32A |• OS: 960GB SSD Mircon 5300• Data: 960GB NVMe Mircon 7450 |
| Ubiquiti Power Distribution Pro | 16p Switched and metered PDU | 1 | | |## 🤝 Acknowledgments
Thanks to [Home Operations](https://discord.com/invite/home-operations) Discord community. I always find lots of cool ideas from chats. Also a special thanks to the great [series](https://greg.jeanmart.me/2020/04/13/build-your-very-own-self-hosting-platform-wi/), by Grégoire Jeanmart, which motivate me to start this project.
## 📄 License
Code is under the [MIT License](./LICENSE).
Document and image is avaliable under [CC BY-SA 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/).