acme-companion is a lightweight Docker companion container that automates SSL certificate generation and renewal for nginx-proxy deployments using the ACME protocol.
The tool solves the problem of managing SSL certificates at scale in containerized environments. It works by monitoring Docker containers proxied through nginx-proxy, automatically requesting certificates from ACME certificate authorities like Let's Encrypt, ZeroSSL, or Buypass, and handling domain validation through either HTTP-01 or DNS-01 challenges. Once certificates are obtained, the tool automatically updates the nginx configuration and reloads it, eliminating manual certificate management. The tool supports multi-domain certificates, wildcard certificates through DNS-01 validation, and generates strong Diffie-Hellman groups for enhanced security.
Adoption suits teams running Docker-based infrastructure with nginx-proxy who need automated certificate lifecycle management without manual intervention. The HTTP-01 challenge method requires the host to be publicly reachable on ports 80 and 443 with proper DNS resolution, and demands that port 80 not be blocked. If these network requirements cannot be met, the DNS-01 challenge provides an alternative validation path, though it requires DNS provider integration. The tool works across all Docker versions and integrates directly with nginx-proxy through shared volumes, making it a natural fit for existing nginx-proxy deployments.
Development activity shows consistent engagement with the project through community discussions addressing specific deployment scenarios and technical requirements. The maintainers actively document constraints and alternatives, such as detailed guidance on port accessibility requirements and DNS provider compatibility. The project maintains clear separation between challenge validation methods, providing users with documented trade-offs to choose based on their infrastructure constraints.