A collection of k8s stacks to run a homelab.
On the server run the following file to install a single node k8s cluster. It has been tested on Ubuntu 22.04
install-k8s-cluster.sh
- k8s: 1.29.2-1.1
Once k8s credentials are available use them (.kube config file) make a copy of values-template.yaml and update the file with proper values.
Note: bash 4.0 or higher is required to run the following commands.
cp values-template.yaml values.yaml
And run the following file to install the homelab.
install-homelab.sh
- cilium: 1.14.7
- metallb: 0.14.3
- cert-manager: 1.14.3
- ingress-nginx: 4.10.0
- sealed-secrets: 2.15.2
After you have made changes in the configuration (charts or values.yaml) you can run the following file to update the homelab.
update-homelab.sh
custom-dns (based on CoreDNS)
cert-manager-letsencrypt-cloudflare (Cluster issuer for Let's Encrypt with DNS-01 challenge using Cloudflare)
wireguard (based on WireGuard)
prowlarr (based on Prowlarr)
nzbhydra2 (based on NZBHydra2)
transmission (based on Transmission)
sabnzbd (based on SABnzbd)
You probably want to have a look at this https://sabnzbd.org/wiki/extra/hostname-check.html
radarr (based on Radarr)
sonarr (based on Sonarr)
bazarr (based on Bazarr)
lidarr (based on Lidarr)
readarr (based on Readarr)
calibre (based on Calibre)
calibre-web (based on Calibre-Web)
jellyseerr (based on Jellyseerr)
overseerr (based on Overseerr)
jellyfin (based on Jellyfin)
plex (based on Plex Media Server)
For native apps in the same network you will need to set Settings -> Network -> Custom server access URLs to something like https://plex.yourdomain.tld
emby (based on Emby)
homarr (based on Homarr)
fileflows (based on FileFlows)
home-assistant (based on Home Assistant)
The following will be needed in the configuration.yaml file for Home Assistant to work with the ingress-nginx (more info):
http:
use_x_forwarded_for: true
trusted_proxies:
- 10.0.0.0/8 # Cilium's default CIDR
Probably you also want to install hacs (Home Assistant Community Store) to get more integrations and plugins. https://hacs.xyz/
renovate (based on Renovate)
Includes Prometheus, Grafana, Alertmanager, and kube-state-metrics