証明書
Droneは、サーバコンテナに証明書をマウントすることにより、ネイティブSSL構成をサポートします。サーバが公開されている場合は、Lets Encryptの使用を検討する必要があります。
- 証明書とキーをサーバコンテナにマウントします。
$ docker run \
-v /etc/certs/drone.company.com/server.crt:/etc/certs/drone.company.com/server.crt \
-v /etc/certs/drone.company.com/server.key:/etc/certs/drone.company.com/server.key - 証明書とキーへのパスを構成します。
$ docker run \
-e DRONE_TLS_CERT=/etc/certs/drone.company.com/server.crt \
-e DRONE_TLS_KEY=/etc/certs/drone.company.com/server.key - 標準のhttpポートとhttpsポートを公開します。
$ docker run \
-p 80:80 \
-p 443:443
Lets Encrypt
Droneは、Let's Encryptを使用した自動SSL構成と更新をサポートしています。次のフラグを使用してLet's Encryptを有効にできます。
- 次のパラメータを使用してLets Encryptを有効にします。
DRONE_TLS_AUTOCERT=true
- 目的のホスト名が構成されていることを確認します。
DRONE_SERVER_HOST=domain.com
DRONE_SERVER_PROTO=https - 標準のhttpポートとhttpsポートを公開します。
docker run \
-p 80:80 \
-p 443:443 - 証明書キャッシュをホストにマウントします。
docker run \
-v /var/lib/drone:/data
証明書キャッシュ
Droneは、生成された証明書をディスクの/data/golang-autocert
にキャッシュします。これにより、システムが再起動時に証明書を再要求するのを防ぎます。 /data
ディレクトリをホストにバインドマウントすることをお勧めします。
証明書のアップグレード
Droneは、証明書のアップグレードを処理する公式のGo acmeライブラリを使用します。追加の構成や管理は必要ありません。