Hi everyone! ![]()
I wanted to share a project I’ve recently shipped called CaddyBar.
The Backstory I actually started this project back in 2015. At the time, I was trying to build a native macOS wrapper to manage local Apache and Nginx configurations. It was cumbersome, and I eventually abandoned it in my “side-project graveyard.”
Recently, I decided to revive the project, but I realized the problem had changed. I didn’t need a wrapper for Apache anymore; I needed the simplicity of modern tools. So, I rewrote the entire app from scratch using SwiftUI, CoreDNS, and, of course, Caddy.
The Problem it Solves The main goal of CaddyBar is to solve the friction of developing with custom domains and subdomains locally while keeping valid TLS certificates.
We all know the pain of modern browsers blocking local HTTP sites or having to manually generate certs for every new subdomain (api.myapp.test, admin.myapp.test, etc.).
CaddyBar handles this automatically:
-
Custom Domains & Subdomains: You can spin up any domain (e.g.,
project.testorv1.api.local) instantly. -
Automatic Local TLS: It leverages Caddy’s internal PKI to issue trusted certificates for these domains on the fly. No more “Not Secure” warnings in your browser.
-
Zero Config DNS: Uses CoreDNS so you don’t have to manually edit your
/etc/hostsfile ever again. -
Powered by Caddy: It uses Caddy under the hood to handle the web server and reverse proxy duties.
Why Caddy? I’ve been using Caddy in production for a while now and I honestly love it. When I revisited this local project, choosing Caddy was a no-brainer. Its ability to manage local TLS automation is unmatched, allowing me to focus on the macOS UI while Caddy does the heavy lifting.
I’d love for you to check it out and let me know what you think. It’s a testament to how powerful Caddy is as a foundation for building developer tools.
Link: caddybar.app
Thanks!