Skip to content

Home server driven by Kubernetes and GitOps using Flux

License

Notifications You must be signed in to change notification settings

bgotink/macharian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Macharian

This repository contains everything I've got running on my home servers.

Servers

My setup is currently as follows:

  • macharian: the physical machine running Debian with several KVM guests:
    • andosk: Ubuntu VM running pi-hole
    • cytheris: Ubuntu VM running Kubernetes
    • Yix: Ubuntu VM running MinIO for S3 storage
    • Persepolis: Home Assistant OS VM
    • Gallosque: Ubuntu VM running Tailscale VPN for outside access
  • gallosque nebula: A Scaleway VPS running an NGINX reverse proxy that exposes certain services via gallosque over Tailscale to the outside world.

Kubernetes

The kubernetes cluster currently consists of a single node (cytheris) running microk8s. The cluster is managed via Flux which uses the kubernetes folder in this repository as source. Renovate helps keep everything up to date.

The core components are:

  • cert-manager: Creates SSL certificates for everything running in the cluster
  • cilium: Internal Kubernetes networking
  • ingress-nginx: Ingress controller for everything running in kubernetes that is exposed to the internal network, or via Gallosque to the external network
  • authentik: Single Sign-On either via OIDC or integrated via ingress-nginx
  • sops: Keeps secrets commited in this repo actually secret

The applications running on kubernetes fall into several categories:

Hardware

  • 1x ASUS NUC14RVHU7000R0 Revel Canyon U7 155H
    • 64 GB RAM
    • 1x 2TB M.2 NVMe
    • 1x 4TB SATA SSD (warp)

This hardware is currently situated next to our TV, which greatly hampers the options for expansion. I would love to expand and add proper storage (a NAS) and at least one other server, but that has to wait until after we've moved to a house that doesn't only have network cables in the living room.

Gratitude

I might be a software engineer but I had little to no experience with Kubernetes and DevOps when I bought my server. The home-ops repo of GitHub user onedr0p has been instrumental in getting me started with flux and renovate, and I use a lot of containers they have set up.

About

Home server driven by Kubernetes and GitOps using Flux

Topics

Resources

License

Stars

Watchers

Forks

Languages