Modern self-hosting framework, fully automated from empty disk to operating services with a single command.
Go to file
2021-12-12 23:12:14 +07:00
apps feat: switch all ingress to to letsencrypt-prod 2021-12-05 17:43:32 +07:00
bootstrap Revert "Revert "refactor(bootstrap): remove sync wave for ApplicationSets"" 2021-12-11 18:47:49 +07:00
docs docs: update external layer instruction 2021-12-12 11:55:16 +07:00
external fix: replace namespace 2021-12-12 23:03:58 +07:00
metal refactor: bump dev VM spec 2021-12-12 00:23:55 +07:00
platform refactor(authentik): disable Redis 2021-12-12 23:12:14 +07:00
scripts
system fix(system/nginx): decrease admission webhooks timeout 2021-12-11 18:37:13 +07:00
tools add new line, alphabet sorted 2021-12-05 21:57:33 +07:00
.gitignore
LICENSE.md
Makefile build: add target to build all including external 2021-12-11 18:56:55 +07:00
README.md docs: use different logo for MetalLB 2021-12-12 18:42:30 +07:00

Homelab

This is my homelab set up, it focused on automation to simplify provisioning, upgrading, and operating self-hosted services.

! ⚠️ WORK IN PROGRESS

Overview

Hardware

Hardware

  • 4 nodes of NEC SFF PC-MK26ECZDR (Japanese version of the ThinkCentre M700):
    • CPU: Intel Core i5-6600T @ 2.70GHz
    • RAM: 16GB
    • SSD: 128GB
  • TP-Link TL-SG108 switch:
    • Ports: 8
    • Speed: 1000Mbps

Technology stack

Logo Name Description
Ansible Ansible Automate bare metal provisioning and configuration
ArgoCD ArgoCD GitOps tool built to deploy applications to Kubernetes
Cloudflare Cloudflare DNS and Tunnel
Docker Docker Ephermeral PXE server and convenient tools container
Gitea Gitea Self-hosted Git service
Grafana Grafana Operational dashboards
Helm Helm The package manager for Kubernetes
K3s K3s Lightweight distribution of Kubernetes
Kubernetes Kubernetes Container-orchestration system, the backbone of this project
Let's Encrypt Let's Encrypt Free, automated (via cert-manager), and open certificate authority
Loki Loki Log aggregation system
Longhorn Longhorn Cloud native distributed block storage for Kubernetes
MetalLB MetalLB Bare metal load-balancer for Kubernetes
NGINX NGINX Kubernetes Ingress Controller
Prometheus Prometheus Systems monitoring and alerting toolkit
Rocky Linux Rocky Linux Base OS for Kubernetes nodes
Tekton Tekton Cloud native solution for building CI/CD systems
Vault Vault Secrets and encryption management system

Get Started

Roadmap

See roadmap and open issues for a list of proposed features and known issues.

Contributing

Any contributions you make are greatly appreciated (feature, bug fix, documentation, grammar or typo fix...).

License

Distributed under the GPLv3 License. See LICENSE for more information.

Acknowledgements

Stargazers over time

Stargazers over time