“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
.env
files 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. 🖖