{"repo":"knrdl/acme-ca-server","free":true,"listed":false,"github":"https://github.com/knrdl/acme-ca-server","clone":"git clone https://github.com/knrdl/acme-ca-server.git","description":"ACME CA Server (self hosted let's encrypt)","language":"Python","stars":111,"topics":["acme","acme-challenge","acme-server","pki"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"ACME CA Server A self-hosted ACME server with a built-in CA and optional web interface. Features ✅ ACME Server implementation (supports http-01 challenge) 🔐 Built-in CA to sign/revoke certificates (can be replaced with an external CA), CA rollover is supported ✉️ Mail notifications (for account creation, expiring and expired certificates) with customizable templates 🌐 Web UI (certificate and domain log) with customizable templates Tested with Certbot, Traefik, Caddy, uacme, acme.sh. Setup 1. Generate a new CA root certificate (or use an existing one) You can generate a new root CA key and certificate using OpenSSL: These two files ( ca.key and ca.pem ) will be imported into the container on first startup. The container runs as a non-root user, so it must be able to read the key and certificate files. Make sure the permissions are set correctly: Once imported successfully, the CA data is stored in the database and you can remove the key files. 2. Deploy the container Docker Compose snippet: 3. Reverse proxy Serve the app securely using a TLS-terminating reverse proxy (like Apache, Nginx, Traefik or Caddy), e.g. at https://acme.mydomain.org The app listens on port 8080 for HTTP traffic. For a quick test you can skip the reverse proxy and expose the service directly: Don't do this in production. TLS usage is advised. 4. Test with certbot Customizations Environment Variables Docker Secrets can also be used, ideal for sensitive values like CA ENCRYPTION KEY and DB DSN . For inst","default_branch":null,"files":null,"tree":[],"storefront":"/r/knrdl","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/knrdl/acme-ca-server/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}