A Docker container that automatically generates and renews Let's Encrypt SSL certificates for nginx-proxy.
acme-companion is a Docker container that automatically manages SSL certificates for applications proxied through nginx-proxy. It handles the entire certificate lifecycle—creation, renewal, and deployment—using the ACME protocol (primarily with Let's Encrypt). This solves the problem of manually configuring and maintaining SSL certificates in Docker-based environments.
DevOps engineers, system administrators, and developers who use Docker and nginx-proxy to host multiple web applications and need automated SSL certificate management.
Developers choose acme-companion because it provides zero-configuration SSL automation specifically designed for nginx-proxy environments, eliminating manual certificate renewal tasks while maintaining compatibility with all Docker versions and supporting both HTTP-01 and DNS-01 challenges.
Automated ACME SSL certificate generation for nginx-proxy
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses acme.sh to automatically create and renew Let's Encrypt certificates, eliminating manual configuration as highlighted in the README's basic usage steps.
Supports HTTP-01 by default and DNS-01 for wildcard certificates, with documentation provided for DNS-01 challenges in the Let's-Encrypt-and-ACME.md.
Automatically updates and reloads nginx configuration on certificate creation or renewal, ensuring continuous service without manual intervention.
Enables Multi-Domain (SAN) and wildcard certificates, with specific guidance for DNS-01 challenges as detailed in the features section.
Exclusively designed for nginx-proxy, making it incompatible with other reverse proxy solutions without extensive modification.
Requires binding the host Docker socket, which grants full container control and poses a security threat if not properly secured.
HTTP-01 challenge demands public access on ports 80 and 443, which can be problematic in firewalled or internal network environments.
Involves multiple steps with volume sharing and environment variables, as shown in the basic usage example, which can be error-prone for newcomers.