KRMed
build-your-own-cloud

A complete guide to building a self-hosted Kubernetes cloud on bare hardware

Last updated Jun 24, 2026
16
Stars
1
Forks
0
Issues
0
Stars/day
Attention Score
25
Language breakdown
No language data available.
Files click to expand
README

Stop Paying for Hosting. Build Your Own Cloud Instead.

Maybe you're tired of paying $20/month for a VPS to host a side project. Maybe you want a real environment to deploy things to instead of everything living on localhost. Maybe you have a spare Raspberry Pi collecting dust and want to finally do something cool with it. Or maybe you just want to understand how production infrastructure actually works by building it from scratch instead of reading a blog post about it

This guide walks you through all of it, starting from bare hardware and ending with a self-hosted Kubernetes cluster with GitOps, monitoring, automated CI/CD, and zero open ports on your router

This covers most of what went into building my personal cloud project firsthand. Use it to get something running, then go read the official docs, experiment, break things, and learn from them. Every reference link throughout the guide is a good next step or starting point to learn from

Beginners are welcome. No prior experience with any of these technologies is required. Feel free to give a ⭐ too!

What you'll be working with

K3S ArgoCD Helm Kustomize NGINX Cloudflare Prometheus Grafana GitHub Actions Trivy gitleaks ntfy


Checkpoints

| | Folder | What's inside | After this section | |---|---|---|---| | 🟢 | 01-Cluster Setup (Start here) | Hardware options, OS prep, K3S install (single-node, multi-node, HA), kubectl, Helm | K3S running, kubectl working from your local machine | | 🟢 | 02-Expose Services | Cloudflare Tunnel, public IP/VPS, and LAN-only access options | Services reachable from your LAN or the internet | | 🟢 | 03-Gitops | Kustomize, cluster secrets, ArgoCD bootstrap, app-of-apps pattern | ArgoCD managing your cluster - commit to git, the cluster follows | | 🟢 | 04-Deploy | Writing app manifests, deploying your first app end-to-end | A real app live in a browser at your own domain | | 🟢 | 05-Extras | Cloudflare Access, monitoring & alerting, persistent storage, CI/CD pipelines | Auth, observability, and CI gates in place | | | references | Troubleshooting, useful tools, resetting your cluster, reference links | |


Feedback and Contributions

Found something wrong, outdated, or confusing? Have a suggestion for what should be added or changed?

Open an issue or start a discussion on the GitHub repository: corrections, improvements, and questions are all welcome. If you built something based on this guide and ran into a gap, that feedback is especially useful

You can also reach me directly at guide-support@krmed.cloud

🔗 More in this category

© 2026 GitRepoTrend · KRMed/build-your-own-cloud · Updated daily from GitHub