Modern self-hosting framework, fully automated from empty disk to operating services with a single command.
Go to file
2021-03-03 02:11:50 +07:00
apps Clean up 2021-02-08 08:52:53 +07:00
infra Temporarily disable remote state 2021-02-22 00:19:24 +07:00
metal Use var for LXD password 2021-03-03 02:11:50 +07:00
platform Restructure infra and platform 2021-02-11 18:20:54 +07:00
test Use the same playbook and ansible config in test 2021-03-02 11:21:09 +07:00
.gitignore Replace multipass with vagrant 2021-02-21 09:55:26 +07:00
LICENSE Create LICENSE 2021-02-12 21:29:21 +07:00
Makefile Remove platform layer 2021-02-15 12:10:02 +07:00
README.md Add acknowledgements 2021-02-23 21:38:41 +07:00

Khue's homelab

! WORK IN PROGRESS

Hardware

Hardware

  • 4 nodes of NEC SFF PC (Japanese version of the ThinkCentre M700)
    • CPU: Intel Core i5-6600T
    • RAM: 16GB
    • SSD: 128GB
  • TP-Link TL-SG108 switch

Architecture

Layer Name Description Provisioner
0 metal Bare metal OS installation, LXD, Terraform state backend,... Ansible, PXE server
1 infra Kubernetes clusters, shared apps (Git, Vault, Argo...) Terraform, Helm
2 apps Argo

Usage

Prerequisite

For the controller (to run Ansible, stateless PXE server, Terraform...):

For bare metal nodes:

  • PXE IPv4 enabled
  • Wake-on-LAN enabled
  • Secure boot disabled (optional, depending on the OS)

Configurations

Building

Simply run:

make

Or we can build each layer individually:

make infra
# or
cd infra
make

Acknowledgements