acme.sh implements the acme protocol and can generate free certificates from letsencrypt.

Official open source address: https://github.com/acmesh-official/acme.sh

  • An ACME protocol client written purely in Shell (Unix shell) language.
  • Full ACME protocol implementation.
  • Support ECDSA certs
  • Support SAN and wildcard certs
  • Simple, powerful and very easy to use. You only need 3 minutes to learn it.
  • Bash, dash and sh compatible.
  • Purely written in Shell with no dependencies on python.
  • Just one script to issue, renew and install your certificates automatically.
  • DOES NOT require root/sudoer access.
  • Docker ready
  • IPv6 ready
  • Cron job notifications for renewal or error etc.

Install online

curl https://get.acme.sh | sh -s email=my@example.com

Generate certificate

acme.sh --issue -d svipc.com -d www.svipc.com --webroot /data/wordpress/

Modify CA organization

acme.sh --set-default-ca --server letsencrypt

Apply Certificate

acme.sh --install-cert -d svipc.com \
--key-file       /data/nginx/ssl/www.svipc.com.key  \
--fullchain-file /data/nginx/ssl/www.svipc.com.crt \
--reloadcmd     "docker exec nginx nginx -s reload"