lemanager
lemanager copied to clipboard
Simple containerized web application for managing, issuing certificates (and email alerting) from Let's Encrypt certificate authority.
LEManager
Simple containerized web application for managing, issuing certificates (and email alerting) from Let's Encrypt certificate authority.
Installation
-
direct domain like cert.example.com to your server where LEManager going to be installed
-
download docker container and run it:
~# docker run --name lemanager \ -v */certificates_dir*:/data \ -e "HTTP_PASSWORD=*your_password*" \ -e "HOSTNAME=*cert.example.com*" \ -p *80*:80 \ analogic/lemanagerIf you have port 80 in use you can use your existing webserver as reverse proxy (see NGiNX snippet).
-
go to http://cert.example.com, login with username admin and password your_password, setup "Email alerts settings" and issue new cert for example.com
-
in folder /certificates_dir/example.com you should find new certificate if everything goes ok. Add certificate to your webserver. NGiNX example:
server { listen 443 ssl http2; server_name example.com; **ssl_certificate */certificates_dir/example.com*/fullchain.pem; ssl_certificate_key */certificates_dir/example.com*/private.pem; ssl_trusted_certificate */certificates_dir/example.com*/fullchain.pem;** add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; ... } -
reload your webserver with something like: service nginx reload or killall -HUP nginx. For doing reloads regularly when certificates automaticly renews you might find handy incrond which watch changes of filesystem and exec defined command. Or simply ad reload/HUP command to your daily/weekly cron. LEManager renews certificate every day at 1:01 after 14 days of its existence.
NGiNX snippet for proxiing challanges only
server {
listen 80;
server_name example2.com www.example2.com;
location ^~ /.well-known {
proxy_pass http://<container_host>:<container_port_80>;
}
; redirect to https version if you need that
location / {
return 301 https://$server_name$request_uri;
}
...
}
Screenshots

Why i created LEManager?
Because of implementation of Let's Encrypt to Poste.io!