ドキュメント
a プロジェクト

コマンドライン

Caddy は標準的な Unix ライクなコマンドラインインターフェースを持っています。基本的な使い方は次のとおりです。

caddy <command> [<args...>]

<carets> は、ユーザーの入力で置き換えられるパラメーターを示します。

[角括弧] はオプションのパラメーターを示します。(丸括弧) は必須のパラメーターを示します。

省略記号 ... は継続、つまり1つ以上のパラメーターを示します。

--flags は、-f のような1文字のショートカットを持つ場合があります。

クイックスタート: caddycaddy help、または man caddy (インストールされている場合)


  • caddy adapt 設定ドキュメントをネイティブの JSON に変換します

  • caddy build-info ビルド情報を表示します

  • caddy completion シェル補完スクリプトを生成します

  • caddy environ 環境変数を表示します

  • caddy file-server シンプルだが本番環境でも使えるファイルサーバーです

  • caddy file-server export-template ファイルサーバーがデフォルトのファイルブラウザテンプレートをエクスポートするための補助コマンドです

  • caddy fmt Caddyfile をフォーマットします

  • caddy hash-password パスワードをハッシュ化し、base64 で出力します

  • caddy help caddy コマンドのヘルプを表示します

  • caddy list-modules インストール済みの Caddy モジュールを一覧表示します

  • caddy manpage man ページを生成します

  • caddy reload 実行中の Caddy プロセスの設定を変更します

  • caddy respond 開発とテストのための迅速でクリーンな、ハードコーディングされた HTTP サーバーです

  • caddy reverse-proxy シンプルだが本番環境でも使える HTTP(S) リバースプロキシです

  • caddy run フォアグラウンドで Caddy プロセスを開始します

  • caddy start バックグラウンドで Caddy プロセスを開始します

  • caddy stop 実行中の Caddy プロセスを停止します

  • caddy storage export 設定されたストレージの内容を tarball にエクスポートします

  • caddy storage import 以前エクスポートされた tarball を設定されたストレージにインポートします

  • caddy trust 証明書をローカルの信頼ストアにインストールします

  • caddy untrust ローカルの信頼ストアから証明書の信頼を解除します

  • caddy upgrade Caddy を最新リリースにアップグレードします

  • caddy add-package 最新リリースにアップグレードし、追加のプラグインを追加します

  • caddy remove-package 最新リリースにアップグレードし、いくつかのプラグインを削除します

  • caddy validate 設定ファイルが有効かどうかをテストします

  • caddy version バージョンを表示します

  • シグナル Caddy がシグナルをどのように処理するか

  • 終了コード Caddy プロセスが終了したときに発生します

サブコマンド

caddy adapt

caddy adapt
	[-c, --config <path>]
	[-a, --adapter <name>]
	[-p, --pretty]
	[--validate]

設定を Caddy のネイティブ JSON 設定構造に適合させ、警告と共に標準出力に出力し、終了します。

--config は設定ファイルへのパスです。省略した場合は、存在する場合はカレントディレクトリの `Caddyfile` を想定します。それ以外の場合は、このフラグが必要です。

--adapter は使用する設定アダプターを指定します。デフォルトは `caddyfile` です。

--pretty は、人間が読みやすいようにインデント付きで出力をフォーマットします。

--validate は、適合した設定をロードしてプロビジョニングし、有効性を確認します(ただし、設定の実行は開始しません)。

正常に適合した設定でも、検証に失敗することがあります。この例としては、次の Caddyfile を使用してください。

localhost

tls cert_notexist.pem key_notexist.pem

変換を試みてください

caddy adapt --config Caddyfile

エラーなく成功します。次に試してください

caddy adapt --config Caddyfile --validate
adapt: validation: loading app modules: module name 'tls': provision tls: loading certificates: open cert_notexist.pem: no such file or directory

その Caddyfile はエラーなく JSON に変換できますが、実際の証明書やキーファイルが存在しないため、プロビジョニングフェーズでエラーが発生するため、検証に失敗します。したがって、検証は変換よりも強力なエラーチェックです。

Caddyfile を簡単に読み書きできる JSON に変換するには

caddy adapt --config /path/to/Caddyfile --pretty

caddy build-info

caddy build-info

ビルドに関する Go から提供される情報(メインモジュールパス、パッケージバージョン、モジュール置換)を出力します。

caddy completion

caddy completion [bash|zsh|fish|powershell]

シェル補完スクリプトを生成します。これにより、`caddy` コマンドを入力するときにタブ補完またはオートコンプリート(シェルに応じて)が利用できます。

このスクリプトを特定のシェルにインストールするための手順を取得するには、`caddy help completion` または `caddy completion -h` を実行します。

caddy environ

caddy environ

caddy が認識する環境変数を表示し、終了します。init システムや systemd などのプロセス管理ユニットのデバッグに役立ちます。

caddy file-server

caddy file-server
	[-r, --root <path>]
	[--listen <addr>]
	[-d, --domain <example.com>]
	[-b, --browse]
	[-t, --templates]
	[--access-log]
	[-v, --debug]

シンプルだが本番環境でも使える静的ファイルサーバーを起動します。

--root はルートファイルパスを指定します。デフォルトは現在の作業ディレクトリです。

--listen はリスナーアドレスを受け入れます。デフォルトは `:80` です。ただし、`--domain` が使用されている場合は、`:443` がデフォルトになります。

--domain は、そのホスト名でのみファイルを提供し、Caddy は HTTPS で提供しようとします。そのため、公開ドメイン名の場合は、最初にパブリック DNS が適切に設定されていることを確認してください。デフォルトポートは 443 に変更されます。

--browse は、インデックスファイルのないディレクトリが要求された場合にディレクトリリストを有効にします。

--templates はテンプレートレンダリングを有効にします。

--access-log はリクエスト/アクセスログを有効にします。

--debug は詳細ログを有効にします。

このコマンドは管理 API を無効にするため、ローカル開発マシンで複数のインスタンスを実行しやすくなります。

caddy file-server export-template

caddy file-server export-template

デフォルトのファイルブラウジングテンプレートを標準出力にエクスポートします

caddy fmt

caddy fmt [<path>]
	[-w, --overwrite]
	[-d, --diff]

Caddyfile をフォーマットし、終了します。結果は `--overwrite` が使用されていない限り標準出力に出力され、違いがある場合はコード `1` で終了します。

<path> は Caddyfile へのパスを指定します。`-` の場合は、入力が標準入力から読み取られます。省略した場合は、カレントディレクトリの Caddyfile という名前のファイルが代わりに想定されます。

--overwrite は、結果をターミナルに出力する代わりに入力ファイルに書き込むようにします。入力が正規ファイルでない場合、このフラグは効果がありません。

--diff は、出力が入力と比較され、異なる行には `-` と `+` が接頭辞として付けられます。変更されていない行にはアライメントのために2つのスペースが接頭辞として付けられますが、これは有効なパッチ形式ではありません。視覚的なツールとして意図されています。

caddy hash-password

caddy hash-password
	[-p, --plaintext <password>]
	[-a, --algorithm <name>]
	[-s, --salt <string>]

プレーンテキストのパスワードをハッシュ化する便利な方法です。結果のハッシュは、Caddy の設定で直接使用できる形式で標準出力に書き込まれます。

--plaintext はパスワードのプレーンテキスト形式です。省略した場合は、インタラクティブモードが想定され、ユーザーはパスワードを手動で入力するプロンプトが表示されます。

--algorithm は `bcrypt` またはインストールされているハッシュアルゴリズムです。デフォルトは `bcrypt` です。

--salt は、アルゴリズムが外部ソルトを必要とする場合(`scrypt` など)にのみ使用されます。

scrypt は非推奨です。代わりに `bcrypt` を使用してください。

caddy help

caddy help [<command>]

CLI ヘルプテキストを出力し、オプションで特定のサブコマンドについても出力し、終了します。

caddy list-modules

caddy list-modules
	[--packages]
	[--versions]
	[-s, --skip-standard]

インストールされている Caddy モジュールを、オプションで関連する Go モジュールのパッケージやバージョン情報と共に表示し、終了します。

スクリプト化された状況では、標準モジュールすべてを出力することは冗長な場合があります。そのため、`--skip-standard` を使用して出力から省略できます。

注: Go のバグ により、バージョン情報は、Caddy が依存関係としてビルドされ、メインモジュールとしてビルドされない場合にのみ利用可能です。xcaddy を使用すると、これが容易になります。

caddy manpage

caddy manpage
	(-o, --directory <path>)

Caddy コマンドのマニュアル/ドキュメントページを生成し、指定されたパスのディレクトリに書き込みます。このコマンドの出力は `man` コマンドで読み取ることができます。

--directory (必須) は、man ページを書き込むディレクトリへのパスです。存在しない場合は作成されます。

生成後、通常はマニュアルページをインストールする必要があります。この手順はプラットフォームによって異なりますが、一般的な Linux システムでは次のようになります。

$ caddy manpage --directory man
$ gzip -r man/
$ sudo cp man/* /usr/share/man/man8/
$ sudo mandb

その後、`man caddy` (またはサブコマンドの場合は `man caddy-*`) を実行して、ターミナルでドキュメントを読むことができます。

マニュアルページは、Web サイトにあるものとは別のドキュメントです。Web サイトには、頻繁に更新されるより包括的なドキュメントがあります。

caddy reload

caddy reload
	[-c, --config <path>]
	[-a, --adapter <name>]
	[--address <interface>]
	[-f, --force]

実行中の Caddy インスタンスに新しい設定を与えます。これは、/load エンドポイント にドキュメントを POST することと同じ効果がありますが、このコマンドは設定ファイルを中心としたシンプルなワークフローに便利です。`stop`、`start`、`run` コマンドと比較して、この単一のコマンドは、実行中の設定を変更/リロードする正しいセマンティックな方法です。

このコマンドは API を使用するため、管理エンドポイントは無効にできません。

--config は適用する設定ファイルです。`-` の場合は、設定が標準入力から読み取られます。指定されていない場合、現在の作業ディレクトリの `Caddyfile` という名前のファイルを試行し、存在する場合は `caddyfile` 設定アダプターを使用して変換します。それ以外の場合は、ロードする設定ファイルがないとエラーになります。

--adapter は、使用する設定アダプターを指定します。

--address は、管理エンドポイントがデフォルトアドレスでリッスンしておらず、提供された設定ファイル内のアドレスと異なる場合に使用します。現時点では TCP アドレスのみがサポートされています。

--force は、指定された設定が Caddy が既に実行しているものと同じであっても、リロードを実行します。Caddy にモジュールを再プロビジョニングさせるために役立ちます。たとえば、手動でロードされた TLS 証明書をリロードするなどの副作用があります。

caddy respond

caddy respond
	[-s, --status <code>]
	[-H, --header "<Field>: <value>"]
	[-b, --body <content>]
	[-l, --listen <addr>]
	[-v, --debug]
	[--access-log]
	[<status|body>]

開発、ステージング、および一部の本番ユースケースに役立つ、シンプルでハードコーディングされた HTTP サーバーを1つ以上開始します。HTTP クライアント、スクリプト、ロードバランサーの検証やデバッグに役立ちます。

--status は返す HTTP ステータスコードです。

--header は HTTP ヘッダーを追加します。`Field: value` 形式が期待されます。このフラグは複数回使用できます。

--body はレスポンスボディを指定します。または、ボディを標準入力からパイプできます。

--listen はリスナーアドレスです。Caddy が認識する任意のネットワークアドレス を指定でき、複数のサーバーを起動するためのポート範囲を含めることもできます。

--debug は詳細なデバッグログを有効にします。

--access-log はアクセス/リクエストログを有効にします。

オプションを指定せずにコマンドを実行すると、ランダムな空きポートでリスンし、空の 200 レスポンスで HTTP リクエストに応答します。リスンアドレスは --listen フラグでカスタマイズでき、常に標準出力に出力されます。リスンアドレスにポート範囲が含まれている場合、複数のサーバーが起動されます。

名前のない最終引数が指定された場合、それが 3 桁の数値であればステータスコードとして扱われます(--status フラグと同じです)。そうでない場合は、レスポンスボディとして使用されます(--body フラグと同じです)。--status フラグと --body フラグは、常にこの引数を上書きします。

ボディは3つの方法で指定できます。フラグ、コマンドの最終(名前のない)引数、または stdin へのパイプ(フラグと引数が設定されていない場合)。以下の変数を使用して、テンプレート評価 が限定的にサポートされています。

変数 説明
.N サーバー番号
.Port リスナーポート
.Address リスナーアドレス

ランダムポートでの空の 200 レスポンス

caddy respond

ボディを含む HTTP レスポンス

caddy respond "Hello, world!"

複数のサーバーとテンプレート

$ caddy respond --listen :2000-2004 "I'm server {{.N}} on port {{.Port}}"

Server address: [::]:2000
Server address: [::]:2001
Server address: [::]:2002
Server address: [::]:2003
Server address: [::]:2004

$ curl 127.0.0.1:2002
I'm server 2 on port 2002

メンテナンスページのパイプ入力

cat maintenance.html | caddy respond \
	--listen :80 \
	--status 503 \
	--header "Content-Type: text/html"

caddy リバースプロキシ

caddy reverse-proxy
	[-f, --from <addr>]
	(-t, --to <addr>)
	[-H, --header-up "<Field>: <value>"]
	[-d, --header-down "<Field>: <value>"]
	[-c, --change-host-header]
	[-r, --disable-redirects]
	[-i, --internal-certs]
	[-v, --debug]
	[--access-log]
	[--insecure]

シンプルながらも本番環境で使用できるリバースプロキシです。迅速なデプロイ、デモ、開発に役立ちます。

--from アドレスから --to アドレスへの HTTP(S) トラフィックを単純に転送します。フラグを繰り返すことで、複数の --to アドレスを指定できます。少なくとも1つの --to アドレスが必要です。--to アドレスには、複数のアップストリームに展開するためのショートカットとしてポート範囲を含めることができます。

アドレスで別に指定されていない限り、--from アドレスはホスト名が指定されている場合は HTTPS とみなされ、--to アドレスは HTTP とみなされます。

--from アドレスにホストまたは IP が含まれている場合、Caddy は(HTTP スキームまたはポートで上書きされない限り)証明書を使用して HTTPS でプロキシを提供しようとします。

HTTPS を提供する場合

  • --disable-redirects を使用して、HTTP ポートへのバインドを回避できます。

  • --internal-certs を使用して、公開証明書の発行を試みる代わりに、内部 CA を使用して証明書の発行を強制できます。

プロキシの場合

  • --header-up を使用して、アップストリームに送信するリクエストヘッダーを設定できます。

  • --header-down を使用して、クライアントに送り返すレスポンスヘッダーを設定できます。

  • --change-host-header は、リクエストの Host ヘッダーをデフォルトの着信 Host ヘッダーではなく、アップストリームのアドレスに設定します。

    これは --header-up "Host: {http.reverse_proxy.upstream.hostport}" のショートカットです。

  • --insecure はアップストリームとの TLS 検証を無効にします。警告:これはアップストリームの証明書を検証しないため、セキュリティを無効にします。

  • --debug は詳細ログを有効にします。

このコマンドは管理 API を無効にするため、ローカル開発マシンで複数のインスタンスを簡単に実行できます。

caddy run

caddy run
	[-c, --config <path>]
	[-a, --adapter <name>]
	[--pidfile <file>]
	[-e, --environ]
	[--envfile <file>]
	[-r, --resume]
	[-w, --watch]

Caddy を実行し、無期限にブロックします。つまり、「デーモン」モードです。

--config は、すぐにロードして使用する初期設定ファイルを指定します。- の場合、設定は stdin から読み取られます。設定が指定されていない場合、Caddy は空の設定で実行され、管理 API エンドポイント のデフォルト設定を使用します。これは、新しい設定を供給するために使用できます。特別なケースとして、カレントワーキングディレクトリに "Caddyfile" というファイルがあり、caddyfile 設定アダプターがプラグインされている場合(デフォルト)、コマンドラインフラグがなくても、そのファイルがロードされ、Caddy の設定に使用されます。

--adapter は、初期設定(存在する場合)のロード時に使用する設定アダプターの名前です。--config ファイル名が "Caddyfile" で始まり、caddyfile アダプターが想定される場合は、このフラグは必要ありません。それ以外の場合は、提供された設定ファイルが Caddy のネイティブ JSON 形式ではない場合、このフラグが必要です。警告はログに出力されますが、エラーのない適応は警告があってもすぐに使用されることに注意してください。最初に適応の結果を確認する場合は、caddy adapt サブコマンドを使用してください。

--pidfile は PID を指定したファイルに書き込みます。

--environ は起動前に環境を出力します。これは caddy environ コマンドと同じですが、出力後に終了しません。

--envfile は、KEY=VALUE 形式で指定されたファイルから環境変数をロードします。# で始まるコメントがサポートされています。キーには export をプレフィックスとして付けることができます。値は二重引用符で囲むことができます(内部の二重引用符はエスケープできます)。複数行の値がサポートされています。

--resume は、最後にオートセーブされたロード済み設定を使用し、--config フラグ(存在する場合)を上書きします。このフラグを使用すると、マシンの再起動またはプロセスの再起動による設定の耐久性が保証されます。API 中心のデプロイメントで最も役立ちます。

--watch は設定ファイルを監視し、変更後に自動的に再ロードします。⚠️ この機能は、ローカル開発環境でのみ使用することを目的としています!

caddy start

caddy start
	[-c, --config <path>]
	[-a, --adapter <name>]
	[--envfile <file>]
	[--pidfile <file>]
	[-w, --watch]

caddy run と同じですが、バックグラウンドで実行されます。このコマンドは、バックグラウンドプロセスが正常に実行される(または実行に失敗する)までブロックし、その後戻ります。

注:--config フラグは、stdin から設定を読み取る-をサポートしていません。

システムサービスまたは Windows でこのコマンドを使用することは推奨しません。Windows では、子プロセスはターミナルに接続されたままになるため、ウィンドウを閉じると Caddy が強制的に停止されますが、これは明らかではありません。代わりに Caddy をサービスとして実行することを検討してください。

起動後、caddy stop またはPOST /stop API エンドポイントを使用して、バックグラウンドプロセスを終了できます。

caddy stop

caddy stop
	[--address <interface>]
	[-c, --config <path> [-a, --adapter <name>]]

実行中の Caddy プロセス(stop コマンドのプロセスを除く)を正常に停止し、終了させます。管理 API のPOST /stop エンドポイントを使用して、正常なシャットダウンを実行します。

このリクエストのアドレスは、--address フラグ、または実行中のインスタンスの管理 API がデフォルトのリスンアドレスを使用していない場合に指定された --config を使用してカスタマイズできます。

現在の設定を停止するが、プロセスを終了したくない場合は、空の設定でcaddy reload を使用するか、DELETE /config/ エンドポイントを使用します。

caddy storage

⚠️ 試験段階

Caddy の設定されたデータストレージの内容のエクスポートとインポートを許可します。

これは、古いストレージからエクスポートし、設定を更新してから新しいストレージにインポートすることで、あるストレージモジュールから別のストレージモジュールに移行する必要がある場合に役立ちます。

次のコマンドを使用して、古い設定と新しい設定を使用して、エクスポートコマンドの出力をインポートコマンドにパイプ処理することで、ストレージを一度に異なるモジュール間でコピーできます。

$ caddy storage export -c Caddyfile.old -o- |
  caddy storage import -c Caddyfile.new -i-

caddy storage export

caddy storage export
	-c, --config <path>
	[-o, --output <path>]

--config はロードする設定ファイルです。正しいストレージモジュールが接続されるように、これが必要です。

--output は tarball を書き込むファイル名です。- の場合、出力は stdout に書き込まれます。

caddy storage import

caddy storage import
	-c, --config <path>
	-i, --input <path>

--config はロードする設定ファイルです。正しいストレージモジュールが接続されるように、これが必要です。

--input は、読み取る tarball のファイル名です。- の場合、入力は stdin から読み取られます。

caddy trust

caddy trust
	[--ca <id>]
	[--address <interface>]
	[-c, --config <path> [-a, --adapter <name>]]

Caddy のPKI アプリによって管理される CA のルート証明書をローカルの信頼ストアにインストールします。

Caddy は、ルート証明書が最初に生成されたときに、ローカルの信頼ストアに自動的にインストールしようとしますが、Caddy が信頼ストアへの書き込みに必要な権限を持っていない場合、失敗する可能性があります。サーバープロセスが非特権ユーザー(systemd など)として実行される場合、証明書を使用する前に、証明書を事前にインストールするには、このコマンドが必要です。Unix システムでは、このコマンドを `sudo` で実行する必要がある場合があります。

デフォルトでは、このコマンドは Caddy のデフォルト CA(つまり「local」)のルート証明書をインストールします。--ca フラグを使用して、別の CA の ID を指定できます。

このコマンドは、GET /pki/ca/<id>/certificates エンドポイントを使用して、Caddy の管理 API に接続してルート証明書を取得しようとします。実行中のインスタンスの管理 API がデフォルトのリスンアドレスを使用していない場合は、--address を明示的に指定するか、--config フラグを使用して設定から管理アドレスをロードできます。

管理 API が他のマシンからアクセスできる場合、このコマンドを使用して caddy バイナリでネットワーク上の他のマシンに証明書をインストールすることもできます。ただし、これを行う場合は、管理 API を信頼できないクライアントに公開しないように注意してください。

caddy untrust

caddy untrust
	[-p, --cert <path>]
	[--ca <id>]
	[--address <interface>]
	[-c, --config <path> [-a, --adapter <name>]]

ローカルの信頼ストアからルート証明書の信頼を解除します。

このコマンドは信頼を解除しますが、必ずしもルート証明書を信頼ストアから完全に削除するわけではありません。したがって、新しい証明書の信頼と信頼解除を繰り返し行うと、信頼データベースがいっぱいになる可能性があります。

このコマンドは、Caddy の設定されたストレージから証明書ファイルを削除または変更しません。

このコマンドは2つの方法で使用できます。

  • --cert フラグを使用して、信頼を解除するルート証明書への直接パスを指定することによって。
  • GET /pki/ca/<id>/certificates エンドポイントを使用して、管理 API からルート証明書を取得することによって。これは、フラグが指定されていない場合のデフォルトの動作です。

管理 API が使用される場合、CA ID は「local」がデフォルトになります。--ca フラグを使用して、別の CA の ID を指定できます。実行中のインスタンスの管理 API がデフォルトのリスンアドレスを使用していない場合は、--address を明示的に指定するか、--config フラグを使用して設定から管理アドレスをロードできます。

caddy upgrade

⚠️ 試験段階

caddy upgrade
	[-k, --keep-backup]

インストールされているモジュール(Caddy ウェブサイトに登録されているサードパーティプラグインを含む)と同じモジュールを使用して、ダウンロードページから最新のバージョンに現在の Caddy バイナリを置き換えます。

アップグレードは実行中のサーバーを中断しません。現在、このコマンドはディスク上のバイナリのみを置き換えます。良い方法を見つけられれば、将来変更される可能性があります。

アップグレードプロセスはフォールトトレラントです。現在のバイナリは最初にバックアップされ(現在のバイナリの横にコピーされます)、問題が発生した場合は自動的に復元されます。アップグレードプロセスが完了した後もバックアップを保持する場合は、--keep-backup オプションを使用できます。

ユーザーに実行可能ファイルへの書き込み権限がない場合、このコマンドには昇格された権限が必要になる場合があります。

caddy add-package

⚠️ 試験段階

caddy add-package <packages...>
	[-k, --keep-backup]

caddy upgradeと同様に、現在のCaddyバイナリを、インストールされているモジュールは同じで、引数としてリストされたパッケージが新しいバイナリに含まれた最新バージョンに置き換えます。ダウンロードページでインストール可能なパッケージのリストを確認してください。各引数は、完全なパッケージ名にする必要があります。

例:

caddy add-package github.com/caddy-dns/cloudflare

caddy remove-package

⚠️ 試験段階

caddy remove-package <packages...>
	[-k, --keep-backup]

caddy upgradeと同様に、現在のCaddyバイナリを、インストールされているモジュールは同じで、引数としてリストされたパッケージが現在のバイナリに存在していた場合でも含まれない最新バージョンに置き換えます。現在のバイナリに含まれる非標準モジュールの、パッケージ名の一覧を見るには、caddy list-modules --packagesを実行してください。

caddy validate

caddy validate
	[-c, --config <path>]
	[-a, --adapter <name>]
	[--envfile <file>]

設定ファイルの検証を行い、終了します。このコマンドは、設定を逆シリアル化し、設定を起動するかのように、すべてのモジュールをロードしてプロビジョニングしますが、設定自体は実際には起動されません。これにより、ロード時またはプロビジョニング時に発生する設定のエラーを明らかにし、設定をJSONとしてシリアル化するだけよりも強力なエラーチェックとなります。

--configは検証する設定ファイルです。-の場合、設定は標準入力から読み取られます。デフォルトでは、現在のディレクトリにあるCaddyfile(もしあれば)になります。

--adapterは、設定ファイルがCaddyのネイティブJSON形式でない場合に使用する設定アダプターの名前です。設定ファイルがCaddyfileで始まる場合、デフォルトでcaddyfileアダプターが使用されます。

--envfile は、KEY=VALUE 形式で指定されたファイルから環境変数をロードします。# で始まるコメントがサポートされています。キーには export をプレフィックスとして付けることができます。値は二重引用符で囲むことができます(内部の二重引用符はエスケープできます)。複数行の値がサポートされています。

caddy version

caddy version

バージョンを出力して終了します。

シグナル

Caddyは特定のシグナルをトラップし、他のシグナルは無視します。シグナルは特定のプロセス動作を開始できます。

シグナル 動作
SIGINT 正常終了。すぐに強制終了するには、シグナルを再度送信します。
SIGQUIT Caddyをすぐに終了しますが、重要なためストレージのロックはクリーンアップします。
SIGTERM 正常終了。
SIGUSR1 無視されます。設定の更新には、caddy reloadコマンドまたはAPIを使用してください。
SIGUSR2 無視されます。
SIGHUP 無視されます。

正常終了とは、新しい接続が受け入れられなくなり、既存の接続はソケットが閉じられる前に終了されることを意味します。猶予期間が適用される場合があります(設定可能です)。猶予期間が終了すると、接続は強制的に終了されます。ストレージのロックや、個々のモジュールが解放する必要があるその他のリソースは、正常なシャットダウン中にクリーンアップされます。

終了コード

Caddyはプロセス終了時にコードを返します。

コード 意味
0 正常終了。
1 起動失敗。**プロセスを自動的に再起動しないでください。変更を加えない限り、おそらく再びエラーが発生します。**
2 強制終了。Caddyはリソースをクリーンアップせずに強制終了されました。
3 終了失敗。Caddyはクリーンアップ中にいくつかのエラーで終了しました。

bashでは、echo $?で最後のコマンドの終了コードを取得できます。