bram.gotink.be / knot
data server for tangled
Pull this image
docker pull atcr.io/bram.gotink.be/knot:latest
Overview
Macharian
This repository contains everything I’ve got running on my home servers.
Servers
My setup is currently as follows:
- Drimor: an ASUS NUC 14 running Debian with several KVM guests:
- Proteus Secundus: an ASUS NUC 15 running a Talos node on bare metal
- Paleon: A Scaleway VPS running an NGINX reverse proxy that exposes certain services over Tailscale to the outside world.
Kubernetes
Kubernetes cluster Proteus currently consists of two nodes, Proteus Secundus and Proteus Quartus, both running Talos.
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
- Istio manages the network & ingress with metallb as load balancer
- Tailscale exposes certain services over VPN to the internet
- Longhorn manages storage for k8s
- authentik provides Single Sign-On either via OIDC or integrated via istio
- sops keeps secrets commited in this repo actually secret
The applications running on kubernetes fall into several categories:
- Self-hosted storage for Photos via Immich and documents/calendars via NextCloud
- A Media Center, running in the media namespace, with automated tracking of movies, shows, and artists; using Plex, *arr, and more.
- Smaller stuff like a Unifi controller or a wiki for a WarHammer 40k Imperium Maledictum roleplay group
- Underlying technology such as Redis and PostgreSQL
Hardware
- 1x ASUS NUC14RVHU7000R0 Revel Canyon U7 155H
- 64 GB RAM
- 1x 2TB M.2 NVMe
- 1x 4TB SATA SSD (warp)
- 1x ASUS NUC 15 Pro Slim Kit RNUC15CRKU700002 barebone
- 64 GB RAM
- 1x 2TB M.2 NVMe
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 maybe one other server—having two k8s nodes has downsides that a third node would solve—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 had little to no experience with Kubernetes and DevOps when I bought my first NUC to use as 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.
Tags
sha256:3ef09f66e06a20369d00c3923222645fa52474a1f6df1251bef159e6e81b2221
sha256:135c61b4ac51bfd7f96b7d6e4645c8cdb93defe48381cd52ecebb974bac6e4b9
sha256:d63c6752ce29e64a9dc90bcd35927aeddb90b69b7841367431d377e2af46b5cb
docker pull atcr.io/bram.gotink.be/knot:latest
sha256:3ef09f66e06a20369d00c3923222645fa52474a1f6df1251bef159e6e81b2221
sha256:135c61b4ac51bfd7f96b7d6e4645c8cdb93defe48381cd52ecebb974bac6e4b9
sha256:d63c6752ce29e64a9dc90bcd35927aeddb90b69b7841367431d377e2af46b5cb
docker pull atcr.io/bram.gotink.be/knot:v1.12.0-alpha
Manifests
sha256:3ef09f66e06a20369d00c3923222645fa52474a1f6df1251bef159e6e81b2221