Caddy をリバースプロキシサーバとして Docker + systemd を用いて運用するための設定
conf/: Caddyfile など,設定が配置されるディレクトリsystemd-conf\: Caddy を systemd に登録するための service ファイルを配置するディレクトリpersisted: Caddy が使用する永続データを配置されるディレクトリ.基本的に内容を変更する必要はない.docker-compose.yml: Docker compose で運用するための設定ファイル
git clone git@github.com/nomlab/caddy-rp.git && caddy-rpcp conf/Caddyfile.example conf/Caddyfile
editor conf/Caddyfile # Caddyfile を運用に合わせて変更するsudo cp systemd-conf/Caddyfile.service /etc/systemd/system/Caddyfile.service
systemctl daemon-reload
systemctl enable # 自動起動する場合systemctl start caddy
docker compose psCaddy は Let's Encrypt を使って証明書を自動取得・自動更新する.
- 証明書の有効期限は90日であり,Caddy は残り30日を切ったタイミングで自動更新する.
- デフォルトではTLS-ALPN-01チャレンジを使用する.
- Caddyfile 内に
emailディレクティブを設定した場合,その email で認証を行う.設定していない場合,匿名で認証を行う(デフォルト).
前提条件
- 各ドメインの DNS がこのサーバの IP に向いていること
- port 80 / 443 が外部からアクセス可能であること
sudo systemctl restart caddy.servicesudo journalctl -u caddy.servicesystemctl stop caddy
systemctl disable caddy # 自動起動も停止したい場合