This repository implements a Caddy plugin that dynamically generates Caddy reverse proxy configurations from Docker container and Swarm service labels. It runs as a Caddy module, monitoring Docker events and polling Docker APIs to produce an in-memory Caddyfile, then loading it into Caddy with zero-downtime reloads. The system supports three operational modes: standalone (controller and server in one process), controller (generates config and pushes to remote Caddy servers via admin API), and server (receives config remotely). The core architecture comprises a Docker client abstraction, a Caddyfile generator that translates Docker labels into Caddyfile blocks, and a loader that manages event-driven updates. The codebase is well-structured with clear separation of concerns, extensive unit tests, and integration test suites using Docker Compose stacks. It demonstrates solid engineering practices with modular packages, concurrent-safe state management, and thorough error handling.