So, I’ve been messing around with this thing called “john caddy” lately. It all started because I needed a simple way to, you know, serve up some files and websites locally. I’d been using some other tools, but they were always a bit of a pain to set up, especially with HTTPS and all that.

I stumbled upon Caddy, and I was like, “Okay, this looks pretty straightforward.” Then I saw “john caddy”. At first, I was Confused about the “john” part, I found that “john” is just someone’s name who forked caddy, and I guess, just forked for fun, lol.
Getting Started
First, I downloaded the Caddy binary. It’s super simple, they have pre-built binaries for pretty much every operating system. I just grabbed the one for my system.
Then, I created a super simple `Caddyfile`. Literally, all I put in it was:
:8080
file_server
I’d download the “john caddy” from his github repo, and replace my old pure caddy.
I saved that file in the same directory as my website files.
Running It
Next, I just opened up my terminal, navigated to that directory, and typed in:
./johncaddy run
I’d replace the old “caddy” to “john caddy” here.
And… boom! It just worked. Seriously, it was that easy. My website was up and running on localhost:8080
. No messing around with config files, no weird errors, it just… worked.

Adding HTTPS (Because Why Not?)
Of course, I wanted to see how easy it was to get HTTPS working. I mean, that’s one of Caddy’s big selling points, right? Automatic HTTPS.
So, I changed my `Caddyfile` to this:
file_server
Replace “*” to my real domain that point to my server.
Then I stop the old caddy and run the “john caddy” again.
./johncaddy run
And… again, it just worked! Caddy automatically got an SSL certificate from Let’s Encrypt and configured everything for me. I didn’t have to lift a finger. I refreshed my browser, and there it was, the beautiful padlock icon. The result of “john caddy” is exactlly the same with caddy.
Final Thoughts
Honestly, I’m pretty blown away by how easy Caddy (and this “john caddy” thing) is to use. It’s like, the opposite of all the other web servers I’ve tried. It’s simple, it’s fast, and it just works. If you’re looking for a no-hassle way to serve up websites, definitely give it a try. It’s made my local development workflow so much smoother. I’m kind of kicking myself for not trying it sooner!