A k3s Kubernetes cluster running on Raspberry Pi 4B nodes (Rocky Linux 9, ARM), backed by a Synology DS720+ NAS for persistent storage. Deployment is driven by just using kubectl and Helmfile. See Getting Started for the full project overview, hardware details, and software stack.
All Kubernetes commands run from the kube/ directory. The KUBECONFIG env var is set via .envrc (direnv).
# Deploy an app
just jellyfin-deploy
# Check status / tail logs
just jellyfin-status
just jellyfin-logs
# Stop / start / restart
just jellyfin-stop
just jellyfin-start
just jellyfin-restart
# Deploy by category
just deploy-sys # System infrastructure
just deploy-apps # User applications
just deploy-all # Everything- Getting Started -- Project overview, hardware, software stack, and repo layout.
- Infrastructure Provisioning -- Ansible provisioning of MikroTik router and Raspberry Pis.
- RPis and k3s -- Kubernetes cluster topology and k3s configuration.
- Persistence -- Synology NAS setup and Kubernetes storage configuration.
- Networking -- Network topology, DNS, MetalLB, ingress controllers, TLS, and authentication.
- Security -- Authentication and access control.
- Observability -- Logging and monitoring stack.
- Maintenance -- k3s upgrades and cluster maintenance procedures.
ansible/-- Provisioning playbooks for MikroTik router, Raspberry Pi OS, and k3s installationkube/-- Kubernetes manifests, Helm values, and just-driven deployment toolingdocs/-- Operational documentation
See Getting Started for details.