Caddy-Docker-Proxy is a reverse proxy plugin that enables Caddy to automatically route traffic to Docker containers based on labels.
The tool solves the problem of manually configuring reverse proxy rules for containerized services. It works by scanning Docker metadata for labels prefixed with "caddy" and converting them into an in-memory Caddyfile with site entries and proxies pointing to each Docker service by DNS name or container IP. Whenever a Docker object changes, the plugin updates the Caddyfile and triggers Caddy to gracefully reload with zero downtime, eliminating the need for manual configuration updates.
This tool suits teams running Docker containers who want automatic HTTPS with Let's Encrypt or ZeroSSL certificates without managing proxy configuration files. It works with both Docker services and individual containers, and supports multiple execution modes including standalone, server, and controller configurations. The label-based approach means developers can define routing rules directly in their Docker Compose files or container definitions using simple key-value pairs, with support for Go templates and template functions like upstreams for dynamic configuration.
The project maintains active build automation and demonstrates consistent responsiveness to issues and pull requests. Development activity shows regular engagement with the codebase and a pattern of addressing user-reported problems promptly. The maintainer actively reviews and merges contributions, indicating an open approach to community involvement. Documentation is comprehensive and regularly updated to reflect changes in functionality and usage patterns.