Skip to content

KRMed/build-your-own-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Releases

No releases published

Packages

 
 
 

Contributors