Introducing ClearProxy: A Modern Interface for Caddy Server

As a long-time user of Caddy Server, I've always appreciated its simplicity, automatic HTTPS capabilities, and robust performance. However, one pain point kept nagging at me: maintaining Caddyfile configurations across multiple servers and projects. That's what led me to create ClearProxy, a modern web-based management interface for Caddy that focuses on making reverse proxy configuration as straightforward as possible.

ClearProxy Dashboard

The Journey

The idea for ClearProxy was born out of a simple desire: I wanted the power of Caddy without the hassle of manually editing configuration files. While Caddy's Caddyfile syntax is clean and intuitive, managing multiple proxy configurations across different environments can become tedious. I wanted a solution that would:

  1. Provide a beautiful, intuitive interface for managing proxy hosts

  2. Maintain Caddy's core philosophy of simplicity and security

  3. Offer advanced features for power users without overwhelming beginners

Technical Implementation

I built ClearProxy using modern web technologies that prioritize performance and developer experience:

  • SvelteKit for the frontend, offering a responsive and snappy user interface

  • SQLite for reliable data storage without the complexity of a separate database server

  • Docker for easy deployment and consistent environments

  • Caddy's Admin API for seamless integration with the Caddy server

The architecture is deliberately simple: two containers working in harmony - one running the ClearProxy application and another running Caddy server. This setup ensures that users get all the benefits of Caddy (automatic HTTPS, modern security defaults) while enjoying a user-friendly management interface.

Key Features

Some of the features I'm most proud of include:

  • Intuitive Proxy Management: Add and configure proxy hosts with just a few clicks

  • Automatic HTTPS: Leveraging Caddy's built-in ACME client for SSL/TLS certificates

  • Basic Authentication: Easily secure proxied hosts when needed

  • Advanced Configuration: Raw Caddyfile syntax support for power users

  • Access Logging: Built-in monitoring capabilities

The Rewards

Building ClearProxy has been incredibly rewarding for a couple reasons:

  1. Learning Experiences: The project pushed me to dive deep into Caddy's internals, modern web development practices, and container orchestration. Every challenge was an opportunity to learn something new.

  2. Open Source Collaboration: The project is open source, and I'm hoping and looking forward to collaborating with other developers to make it better.

Looking Forward

ClearProxy is more than just a personal tool - it's becoming a project that makes Caddy more accesible to everyone. Future plans include:

  • Enhanced monitoring and analytics

  • Support for more advanced Caddy features

  • Improved documentation and tutorials

  • Community-requested features and improvements

Try It Yourself

If you're using Caddy and want to simplify your proxy management, give ClearProxy a try. The project is available on GitHub, and getting started is as simple as running a few Docker commands.

mkdir clearproxy && cd clearproxy
curl -L https://raw.githubusercontent.com/foggymtndrifter/clearproxy/main/docker-compose.yml -o docker-compose.yml
docker compose up -d

Conclusion

Building ClearProxy has been a journey of solving a personal pain point that turned into something much bigger. It's a testament to the power of open source and the satisfaction that comes from creating tools that make developers' lives easier. If you're using Caddy or looking for a more modern reverse proxy solution, I encourage you to give ClearProxy a try and join our community.