certbot

Пример запуска nginx:

docker run -p80:80 -p443:443 -d \
 -v /data/docker/nginx/conf:/etc/nginx/conf.d:ro \
 -v /data/docker/nginx/ssl:/ssl:ro \
 -v /data/docker/nginx/letsencrypt:/etc/letsencrypt:ro \
 --restart always \
 --name nginx nginx:stable

Настроить nginx:

server {
  listen 80 default;  

  location ~ /.well-known/acme-challenge {
    allow all;
    root /var/www/html;
  }
  location ~ / {
    return 302 https://$host$request_uri;
  }
}

Запустить в тестовом режиме (–dry-run):

docker run -v /data/docker/www/html:/var/www/html -v /data/docker/nginx/letsencrypt:/etc/letsencrypt -v /data/docker/nginx/log:/var/log/letsencrypt/ --rm --name certbot certbot/certbot certonly --webroot -w /var/www/html --no-eff-email --dry-run -d domain.com

Выпустить сертификаты:

docker run -v /data/docker/www/html:/var/www/html -v /data/docker/nginx/letsencrypt:/etc/letsencrypt --rm --name certbot certbot/certbot certonly --webroot -w /var/www/html --no-eff-email --dry-run -d domain.com