コマンドライン
Caddy は標準的な Unix ライクなコマンドラインインターフェースを持っています。基本的な使い方は次のとおりです。
caddy <command> [<args...>]
<carets>
は、ユーザーの入力で置き換えられるパラメーターを示します。
[角括弧]
はオプションのパラメーターを示します。(丸括弧)
は必須のパラメーターを示します。
省略記号 ...
は継続、つまり1つ以上のパラメーターを示します。
--flags
は、-f
のような1文字のショートカットを持つ場合があります。
クイックスタート: caddy
、caddy 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 $?
で最後のコマンドの終了コードを取得できます。