“Every expert was once a beginner.” — Helen Hayes
Welcome to sudo.life
This is sudo.life, a blog about diving headfirst into the world of Linux, self-hosting, Cloudflare, and all things tech. It’s a mix of hands-on documentation, mistakes made, things learned, and useful tips — especially for people still learning (like me).
This isn’t a blog written after becoming an expert — it’s being written during the learning process. So if you’ve ever stared at a terminal wondering “what now?”, this blog is for you.
What You’ll Find Here
Here’s a taste of what sudo.life is all about:
- 🐧 Linux basics and not-so-basics
 - 📦 Running services with Docker
 - 🌍 Hosting with Cloudflare Pages
 - 🌐 Using tools like AdGuard Home for DNS control
 - 📝 Building a fast, static blog with Hugo
 - 🔐 Self-hosting with open-source tools
 - ⚙️ Learning in public — from mistakes to mastery
 
If you like minimal setups, open-source tools, and making things work on your own server, you’ll feel at home here.
Who This Blog Is For
- You’re new(ish) to Linux and want to get better
 - You’re building your first home server or homelab
 - You love tinkering and trying new tools
 - You’re tired of cloud vendor lock-in
 - You’d rather learn to host something yourself than pay monthly fees
 - You want content that’s beginner-friendly but still practical
 
The Setup Behind sudo.life
Let’s talk about the actual tech stack powering this site — and why I chose it.
📝 Hugo for Static Site Generation
This blog is built using Hugo, one of the fastest static site generators around.
- No databases
 - No backends
 - Just Markdown files that Hugo turns into a complete website
 
The idea is simple: write your posts as .md files, run a command, and you get an HTML site ready to deploy. Fast, secure, minimal.
☁️ Cloudflare Pages for Hosting
I use Cloudflare Pages to host the blog. Why?
- Free SSL
 - Global CDN
 - Git-based deployment
 - No servers to manage
 
You push your code to Git (I use a private GitHub repo), and Cloudflare takes care of the rest.
📦 Docker for Self-Hosted Tools
I don’t run a massive homelab, but I do use Docker to self-host a few things on a small server. Some of my favorites:
- AdGuard Home for DNS-level ad blocking
 - Uptime Kuma to monitor my services
 - Nginx Proxy Manager (NPM) to handle reverse proxies and SSL
 - Basic containers like 
whoami,watchtower, orfilebrowser 
Everything runs in containers. It’s easy to experiment, isolate, and update.
Why Markdown?
Because it just works.
- Easy to read
 - Easy to write
 - No formatting overhead
 - Perfect for version control
 - Works with Hugo
 
Most posts start in a simple editor (nano, vim, or VS Code). Markdown is basically a universal format for writing clean, long-lasting content.
Why I’m Blogging While I Learn
Most tech blogs are written after someone has solved the problem. That’s great — but sometimes, it helps to hear from someone who’s still figuring it out.
Writing is how I learn:
- Turning problems into posts makes me slow down and understand them
 - Sharing mistakes might save someone else hours
 - Posts are notes to my future self
 
I don’t know everything — but I write everything I do learn.
What You Can Expect
Here’s a preview of what’s coming soon to sudo.life:
- 🔧 How I set up Hugo + Cloudflare Pages
 - 📦 How to self-host AdGuard Home with Docker
 - 🔐 Using Nginx Proxy Manager to expose your services safely
 - 📂 Managing volumes and backups in Docker
 - 🧪 Learning YAML and 
.envfiles without losing your mind - 🛠️ CLI tools that helped me stop using the mouse so much
 - 🔎 How to fix common Linux mistakes (the ones I made)
 
And maybe one day: Homelab tours, server upgrades, and a deeper dive into security and monitoring.
Is This Blog for Beginners?
Yes — and no.
- If you’re just starting with Linux, you’ll find beginner-friendly walkthroughs.
 - If you’ve got some experience, you might still learn faster from someone going through the steps right now.
 - And if you’re an expert? Feel free to correct me 😄 (but kindly).
 
I’ll never pretend to know more than I do. But I’ll try to explain what I learn clearly, with working examples.
Performance Stats
Here’s how the blog stacks up, technically:
| Metric | Value | 
|---|---|
| Site Generator | Hugo | 
| Hosting | Cloudflare Pages | 
| Deploy Method | GitHub (private repo) | 
| Build Time | ~150ms | 
| Lighthouse Score | 100 (all categories) | 
| SSL + CDN | Enabled (via Cloudflare) | 
| JS/Ads/Trackers | None | 
Source: Google Lighthouse

Philosophy of sudo.life
- ✨ Simplicity over flash
 - ⚙️ Function over form
 - 📖 Learn by doing
 - 🚀 Self-host when you can
 - 🔐 Trust open source
 - 🙌 Share what you figure out
 
This isn’t a place for SEO-optimized fluff. It’s for people who like solving problems, typing commands, and learning by fire.
No Sponsors. No Ads. No BS.
You won’t find:
- Google Analytics
 - Affiliate links
 - Newsletter popups
 - Cookies or consent banners
 - Promoted garbage
 
This blog is static. It doesn’t track you. You could save it offline and it would still work. That’s the goal.
The internet used to be like this. I think it still can be.

Thanks for Stopping By
Whether you’re here to learn, troubleshoot, or just lurk — thanks for visiting sudo.life. I hope the posts ahead are useful, honest, and maybe even fun to read.
And remember:
“The best way to learn is by breaking stuff — and then fixing it.”
Catch you in the terminal. 🖖