This repository uses Infrastructure as Code and GitOps principles to fully automate the provisioning, configuration, and continuous deployment of self-hosted services in my personal homelab.
-
Self host things for freedom
-
Learn Kubernetes along the way
-
Bring jj to practice
-
Explore, Experiment, and have fun.
Justfile- Task runner for common operations (provisioning, kubeconfig sync, SOPS encryption, certificate verification, etc.)ansible/- Ansible playbooks for bare-metal provisioning, K3s installation, security hardening, and Tailscale configurationkubernetes/- Kubernetes manifests organized by:apps/- Application deployments managed via GitOpsbootstrap/- Core cluster components (ArgoCD, etc.)infrastructure/- Infrastructure-level resources (Traefik ingress, cert-manager, DNS-01 ACME, etc.)
terraform/- Terraform configurations for cloud resource provisioningscripts/- Utility scripts for automation and maintenance
| Logo | Name | Description |
|---|---|---|
| Ubuntu Server | Base OS for Kubernetes nodes | |
| K3s | Lightweight Kubernetes distribution | |
| Ansible | Bare-metal provisioning & node configuration | |
| ArgoCD | GitOps continuous delivery for Kubernetes | |
| Cloudflare | DNS-01 ACME challenges + DDoS/WAF protection via Tunnel | |
| Docker | Container Runtime | |
| Grafana | Observability & dashboards | |
| Kubernetes | Container-orchestration system | |
| Traefik | Ingress controller & reverse proxy (TLSStore + Kubernetes secret-based TLS) | |
| Prometheus | Metrics collection & alerting | |
| Tailscale | Kubernetes Operator & MagicDNS for secure service exposure | |
| CloudNativePG | PostgreSQL Operator for Kubernetes | |
| NextDNS | Smart and Reliable DNS resolver | |
| Terraform | Infrastructure as Code for cloud resources | |
| cert-manager | Automated certificate management (Let's Encrypt DNS-01 via Cloudflare) | |
| SOPS + Age | Secrets encryption at rest | |
| jj + Git | Version control with colocated .git directory | |
| Glance | Homepage dashboard & feed aggregator | |
| n8n | Workflow automation tool | |
| DeepWiki | AI-powered documentation & knowledge base | |
| KaraKeep | Bookmarks Manager | |
| The Lounge | Web Client for Internet Relay Chat | |
| Infrastructure | 6 GB RAM, 5 vCPU, 100 GB NVMe SSD |