Table of Contents

certbot

install

...
  certbot:
    restart: "no"
    image: certbot/certbot:latest
    profiles: ["_"]
    volumes:
      - ./certbot/etc/:/etc/letsencrypt/
      - ./certbot/var/:/var/lib/letsencrypt/
      - ./certbot/public/:/public/  # webroot用のディレクトリ(nginxなどと共有する)
...

webroot用のnginxの設定

server {
  listen 80;
  location /.well-known/ {
    root /srv/http/certbot/;  # certbotサービスの/publicディレクトリをmountした場所を指定する
  }
  location / {
    return 301 https://$host$request_uri;
  }
}

usage

証明書の新規取得

docker-compose run certbot certonly --webroot -w /public -d <DOMAIN> --agree-tos

証明書の一括更新

docker-compose run certbot renew