環境変数
Arkvoryは、名前がARKVORY_で始まる環境変数で設定します。このページには、サーバーのプロセス、コマンドラインクライアント、インストーラースクリプトが読み取るすべての変数を載せています。
値の取得元
インストーラーは、サーバーの設定を、インストールルートのconfig/runtime.jsonという1つのファイルに書き込みます。各サービスのランチャーがこのファイルを読み、その値をAPI、ワーカー、バックアップエージェントに渡します。各キーはARKVORY_で始まる必要があり、各値は文字列である必要があります。
{
"ARKVORY_HOST": "127.0.0.1",
"ARKVORY_PORT": "8080",
"ARKVORY_CAPACITY_BYTES": "10995116277760",
"ARKVORY_DATABASE_URL": "postgresql://arkvory:PASSWORD@127.0.0.1:54329/arkvory",
"ARKVORY_DATA_DIR": "/opt/proanima-arkvory/data",
"ARKVORY_KEYS_FILE": "/opt/proanima-arkvory/config/keys.json",
"ARKVORY_MAX_DOWNLOADS": "32"
}このファイルには、データベースのパスワードが含まれています。アクセス権は、インストーラーが設定したままにしてください。
設定を変更するには、config/runtime.jsonを編集して、サービスを再起動します。arkvory configureコマンドがその設定に対応している場合(HTTPS、バックアップの保管庫、ミラー、更新)は、そちらを優先してください。このコマンドは変更を検証し、サービスが起動しない場合は元のファイルに戻します。設定を参照してください。
sudo systemctl restart arkvory-api arkvory-worker arkvory-backupRestart-Service Arkvoryapi, Arkvoryworker, Arkvorybackup許容範囲外の値があると、プロセスは起動時に、変数名を示すメッセージとともに停止します。その場合、Arkvoryが既定値にフォールバックすることはありません。
「読み取るプロセス」の列では、次の名前を使います。APIはHTTPサーバー(読み取りゲートウェイも含む)、ワーカーはバックグラウンドのワーカー、エージェントはバックアップエージェント、CLIはarkvoryctlです。
基本設定
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_DATABASE_URL | API、ワーカー、エージェント、マイグレーション | 必須 | PostgreSQLの接続URL(postgres://またはpostgresql://)。インストールごとに、別々のデータベースを使ってください。 |
ARKVORY_DATA_DIR | API、ワーカー、エージェント | 必須 | ローカルのストレージディレクトリ。ステージング、コンテンツ、storage-idファイルが入ります。ネットワーク共有は使用しないでください。 |
ARKVORY_HOST | API | 127.0.0.1 | 待ち受けるアドレス。インストーラーは127.0.0.1を書き込みます。Docker Composeではコンテナー内で0.0.0.0になり、ポートはホストのループバックでのみ公開されます。 |
ARKVORY_PORT | API | 8080 | TCPポート。1〜65535。 |
ARKVORY_WEB_DIR | API | apps/web/public | Webコンソールのファイルがあるディレクトリ。ランチャーが、起動のたびに現在のリリースを指すように設定します。 |
ARKVORY_DATABASE_POOL_SIZE | API | 20 | API のクエリ用接続プールのサイズ(4–200)。長時間のセッションは 3 接続の別プールを使います。 |
ストレージと制限
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_CAPACITY_BYTES | API、ワーカー | 10 TiB | 予約済みのすべてのコンテンツ(公開済み、未完了のアップロード、クリーンアップを待つコンテンツ)の上限(バイト)。ディスクの確認ではありません。ワーカーが読み取るのは、ミラーのコピーのときだけです。 |
ARKVORY_STORAGE_RESERVE_BYTES | API、ワーカー、エージェント | 1073741824 | アップロードが使用しない空き容量(バイト)。データベース、ログ、システム用に確保されます。0にすると、この確保をオフにします。 |
ARKVORY_MAX_OBJECT_BYTES | API | 約10 TiB | 最大のオブジェクトのサイズ(バイト)。設定できる最大値は、1 GiBのパート10,000個分です。ファイルサイズを制限するには、これより小さい値を設定します。 |
転送と帯域
これらの制限は、1つのAPIプロセスごとに適用されます。速度の単位は、1秒あたりのバイト数です。0は無制限を意味し、それ以外の値は65,536〜1 TiBの範囲にする必要があります。
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_MAX_UPLOADS | API | 8 | 同時に実行されるアップロードの数。1〜32。 |
ARKVORY_MAX_DOWNLOADS | API | 16 | 同時に実行されるダウンロードの数。1〜256。 |
ARKVORY_MAX_UPLOADS_PER_PRINCIPAL | API | 4 | 1つのアカウントまたはキーが同時に実行できるアップロードの数。アップロード全体の上限以下。 |
ARKVORY_MAX_DOWNLOADS_PER_PRINCIPAL | API | 4 | 1つのアカウントまたはキーが同時に実行できるダウンロードの数。ダウンロード全体の上限以下。 |
ARKVORY_DOWNLOAD_STRATEGY | API | ordered | ARKVORY_DOWNLOAD_SESSION_MIN_BYTES を超えるオブジェクトのダウンロード全体をキューがどう並べるか:ordered(優先度クラス、アカウントとキーを順番に)、smallest-first(小さいオブジェクトを先に)、shared(キューなし:要求ごとに受け入れ)。読み取りゲートウェイの既定は shared。 |
ARKVORY_MAX_DOWNLOAD_SESSIONS | API | ARKVORY_MAX_DOWNLOADS | 同時に枠を持つダウンロードの数。1〜1024。 |
ARKVORY_DOWNLOAD_RESERVE | API | 1 | 大量更新中に人(コンソールのセッションと個人トークン)のために残す枠。枠が4未満なら既定は 0。 |
ARKVORY_DOWNLOAD_WEIGHTS | API | interactive=8,release=4,bulk=2,background=1 | クラスごとの空き枠の配分。変えるクラスだけを書きます。 |
ARKVORY_DOWNLOAD_SESSION_MIN_BYTES | API | 16777216 | このサイズ以下のオブジェクトはキューを通らず、要求ごとに受け入れます。 |
ARKVORY_DOWNLOAD_IDLE_SECONDS | API | 30 | 範囲の間の休止がこれより長いと枠を解放します。ダウンロードは10分間順番を保ちます。 |
ARKVORY_DOWNLOAD_AGING_MINUTES | API | 15 | この時間待つごとにダウンロードを1クラス上げ、上限は release。0 でエージングを無効にします。 |
ARKVORY_DOWNLOAD_PREEMPT | API | true | キュー・プロトコルのクライアント(SDK、arkvoryctl)は枠を1分以上持った後、範囲の境目で上位クラスや取り分より少ないキーに枠を譲ります。 |
ARKVORY_DOWNLOAD_RANGES_PER_SESSION | API | 4 | 1つのダウンロードの同時要求数:並列の範囲、1つのアドレスの背後のクライアント。 |
ARKVORY_DOWNLOAD_QUEUE_LIMIT | API | 65536 | キュー全体のダウンロード数(実行中と待機中)。超えるとクライアントに1分後の再訪を求めます。 |
ARKVORY_DOWNLOAD_QUEUE_PER_PRINCIPAL | API | 4096 | 1つのアカウント、キー、リンクのダウンロード総数。 |
ARKVORY_DOWNLOAD_HOLD_SECONDS | API | 20 | キュー・プロトコル外のツール(docker、npm、curl、ブラウザ)の要求を、503 を返す前に順番まで保持する時間。既定:ARKVORY_TRANSFER_QUEUE_TIMEOUT_MS。0 は即答。 |
ARKVORY_SITE_NAME | API | — | 他のインストールの「サイト」ページでのこのインストールの名前。1〜63文字。 |
ARKVORY_FLEET_KEY_FILE | API | fleet.key | このインストールが管理するサイトのキーを封印するキー。書き込みプロセスが初回起動時に作成します。データディレクトリと同様に保護してください。データベースにもバックアップにも含まれません。 |
ARKVORY_TRANSFER_QUEUE_LIMIT | API | 64 | 空きスロットを待てる転送の数。1〜1024。 |
ARKVORY_TRANSFER_QUEUE_PER_PRINCIPAL | API | 8 | 1つのアカウントまたはキーの、待機中の転送の数。キューの上限以下。 |
ARKVORY_TRANSFER_QUEUE_TIMEOUT_MS | API | 20000 | 転送がキューで待てる時間。1〜120,000 ms。 |
ARKVORY_MAX_REQUESTS | API | 128 | 同時に処理する認証済みリクエストの数。1〜4096。アップロード数とダウンロード数の合計より大きい必要があります。未設定で、転送の上限が大きい場合の既定値は、アップロード数+ダウンロード数+64です。 |
ARKVORY_UPLOAD_BYTES_PER_SECOND | API | 0 | プロセス全体のアップロード速度。 |
ARKVORY_DOWNLOAD_BYTES_PER_SECOND | API | 0 | プロセス全体のダウンロード速度。 |
ARKVORY_UPLOAD_BYTES_PER_SECOND_PER_PRINCIPAL | API | 0 | 1つのアカウントまたはキーのアップロード速度。そのすべての接続の合計。 |
ARKVORY_DOWNLOAD_BYTES_PER_SECOND_PER_PRINCIPAL | API | 0 | 1つのアカウントまたはキーのダウンロード速度。そのすべての接続の合計。 |
ARKVORY_UPLOAD_IDLE_TIMEOUT_MS | API | 30000 | この時間データを送らないアップロードリクエストは、停止されます。1〜1,800,000 ms。 |
ARKVORY_UPLOAD_DEADLINE_MS | API | 1800000 | 1回のアップロードリクエストの最長時間。1〜1,800,000 ms。アイドルタイムアウトより短くはできません。 |
ネットワーク、HTTPS、ブラウザー
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_TLS_CERT_FILE | API | 未設定 | 内蔵HTTPS用のPEM証明書(チェーンを含む)。キーファイルと一緒に設定します。 |
ARKVORY_TLS_KEY_FILE | API | 未設定 | パスワードなしのPEM秘密鍵。 |
ARKVORY_TLS_MIN_VERSION | API | TLSv1.2 | TLSv1.2またはTLSv1.3。 |
ARKVORY_TLS_RELOAD_SECONDS | API | 300 | 更新された証明書ファイルを読み直す間隔。30〜86,400秒。0にすると、起動時にだけ読み取ります。 |
ARKVORY_CORS_ORIGINS | API | 空 | 別のアドレスにあるコンソール用の、ブラウザーのオリジンのカンマ区切りのリスト(最大16個)。HTTPS、またはループバックのHTTPのみ。 |
ARKVORY_TRUSTED_PROXIES | API | 空 | リバースプロキシのアドレス(IPまたはCIDR)を最大32個。X-Forwarded-Forでクライアントのアドレスを設定できるのは、これらだけです。 |
内蔵のHTTPSは、ネイティブインストール向けです。Docker Composeでは、リバースプロキシを使います。HTTPSを参照してください。
IDとキー
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_KEYS_FILE | API、ワーカー | 必須 | 回復キーやヘルスチェック用キーなどの、ファイルキーを記述したJSONファイル。保存するのはSHA-256ハッシュであり、キーそのものではありません。 |
ARKVORY_ALLOW_REGISTRATION | API | オフ | trueにすると、サインインページで利用者が自分のアカウントを作成できます。それ以外の値では、オフのままです。 |
バックアップ
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_BACKUP_VAULT | エージェント | 未設定 | 初期化済みの保管庫のディレクトリ。未設定の場合、エージェントは動作し、保管庫が設定されていないと報告します。arkvory configure --backup-vaultが書き込みます。 |
ARKVORY_BACKUP_VAULT_KEY_FILE | エージェント | 未設定 | 暗号化された vault のサービス用キー(AK1-…)が入ったファイル、またはリカバリーキット。コマンドは --key-file としても受け付けます。arkvory configure --vault-key-file が書き込みます。 |
ARKVORY_BACKUP_BYTES_PER_SECOND | エージェント | 制限なし | バックアップのコピー速度の上限。65,536以上。 |
ARKVORY_BACKUP_POLL_SECONDS | エージェント | 15 | エージェントが新しいバックアップジョブを確認する間隔。1〜3600秒。 |
ARKVORY_BACKUP_LEASE_SECONDS | エージェント | 60 | 2つ目のエージェントが同時に実行されるのを防ぐための、リースの時間。2〜3600秒。 |
ARKVORY_BACKUP_SNAPSHOT_SECONDS | エージェント | 1800 | バックアップのうち、データベースのスナップショット部分の制限時間。60〜86,400秒。 |
ARKVORY_BACKUP_BARRIER_SECONDS | エージェント | 30 | 実行中のクリーンアップのステップを、バックアップが待つ時間。1〜600秒。 |
ARKVORY_RESTORE_DATABASE_URL | 復元コマンド | 未設定 | 復元先のデータベース。他のユーザーがプロセス一覧で見られないため、--database-urlより安全です。 |
バックアップを参照してください。
ミラー
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_MIRRORS_FILE | API、ワーカー | 未設定 | ミラー対象のリポジトリを一覧するJSONファイル(最大64個)。arkvory configure --mirrorが書き込みます。 |
ARKVORY_MIRRORS_CA_FILE | ワーカー | 未設定 | ソースのサーバー用に、追加の認証局を含むPEMファイルへの絶対パス。TLSは常に検証されます。 |
ミラーを参照してください。
Webhook
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_WEBHOOKS_FILE | ワーカー | 未設定 | Webhook サブスクリプションを列挙する JSON ファイル(最大 16 件)。ない場合は Webhook は送信されません。 |
ARKVORY_WEBHOOKS_ALLOW_PRIVATE | ワーカー | 未設定 | 公開アドレスに加えて Webhook を受信できるネットワークを、カンマ区切りの CIDR 形式で指定します(最大 32 件)。例: 10.20.0.0/16。 |
ARKVORY_WEBHOOKS_CA_FILE | ワーカー | 未設定 | 受信側向けの追加の認証局を含む PEM ファイルの絶対パス。TLS は常に検証されます。 |
参照: Webhook。
高可用性クラスター
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_REPLICA_SOCKET | API | 未設定 | arkvory-replica サービスのソケット。arkvory configure --cluster が設定します。設定されている場合、必要な数の完全なコピーがそろったときだけ書き込みに 2xx を返します。未設定ならスタンドアロンのサーバーです。 |
High availability cluster を参照してください。
更新とハブ
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_HUB_URL | API | https://hub.proanima.net | ProAnimaStudioのハブのアドレス。コンソールのフィードバックだけで使われます(更新ハブはconfig/hub.jsonに保存され、arkvory configureで変更します)。空の値にすると、フィードバックがオフになります。HTTPS、またはループバックのHTTPのみ。 |
ARKVORY_HUB_PROJECT | API | arkvory | ハブでのプロジェクト名。 |
ARKVORY_UPDATE_CONTROL_DIR | API | 未設定 | APIがホストの更新ツールと共有するディレクトリ。インストーラーが設定します。未設定の場合、コンソールから更新をリクエストできません。 |
更新を参照してください。
ログとシャットダウン
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_LOG_LEVEL | API、ワーカー、エージェント | info | debug、info、warning、errorのいずれか。 |
ARKVORY_ACCESS_LOG | API | true | trueにすると、HTTPリクエストごとにJSONを1行書き込みます。falseでオフになります。 |
ARKVORY_DRAIN_TIMEOUT_MS | API | 30000 | 停止シグナルの後、実行中のリクエストが完了するまでの時間。0〜3,600,000 ms。 |
読み取りゲートウェイ
これらの変数のいずれかを設定した場合は、スロット、スロットの数、共有する速度が必須になります。書き込み側は、ロールapiとスロット0を使います。各読み取りゲートウェイは、ロールreaderと、それぞれ固有のスロットを使います。読み取りゲートウェイを参照してください。
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_ROLE | API | api | api(書き込み側)またはreader(読み取りゲートウェイ)。 |
ARKVORY_GATEWAY_SLOTS | API | 未設定 | ダウンロード速度の上限を共有するプロセスの数。2〜16。 |
ARKVORY_GATEWAY_SLOT | API | 未設定 | このプロセスのスロット。0から、スロットの数マイナス1まで。 |
ARKVORY_SHARED_DOWNLOAD_BYTES_PER_SECOND | API | 未設定 | すべてのプロセスの合計ダウンロード速度。各スロットに均等に配分され、1秒あたり65,536バイト以上になります。 |
ARKVORY_SHARED_DOWNLOAD_BYTES_PER_SECOND_PER_PRINCIPAL | API | 0 | 1つのアカウントまたはキーの、すべてのプロセスにわたる合計ダウンロード速度。0は制限なしを意味します。 |
ウォッチドッグ
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_WATCHDOG_SECONDS | API、ワーカー、エージェント | 60 | この時間ブロックされたままのプロセスは、自分で終了し、サービスマネージャーが再起動します。0にするとオフになります(デバッガー用)。それ以外の場合は10〜3600秒。 |
自己修復を参照してください。
コマンドラインクライアント
| 変数 | 読み取るプロセス | 既定値 | 意味 |
|---|---|---|---|
ARKVORY_BASE_URL | CLI | プロファイルの値、なければhttp://127.0.0.1:8080 | サーバーのアドレス。設定した場合は、キーも環境変数から渡す必要があります。 |
ARKVORY_TOKEN | CLI | 未設定 | キーそのもの。キーファイルより優先されます。 |
ARKVORY_TOKEN_FILE | CLI | プロファイルのキーファイル | キーが入ったファイルのパス。 |
ARKVORY_CLI_HOME | CLI | ~/.config/arkvory | profiles.jsonファイルのディレクトリ。 |
ARKVORY_CLI_VERSION | CLI | development | --versionが出力するバージョン。リリースパッケージには、この値が含まれています。 |
コマンドラインクライアントを参照してください。
インストーラースクリプト
これらの変数は、Linuxのinstall.shが読み取ります。Windowsのinstall.ps1は、代わりに-Rootや-Artifactなどのパラメーターを使います。
| 変数 | 既定値 | 意味 |
|---|---|---|
ARKVORY_INSTALL_ROOT | /opt/proanima-arkvory | インストールルート。ネイティブインストールを、ホームディレクトリに置かないでください。 |
ARKVORY_ARTIFACT_DIR | 未設定 | 展開済みのリリースのディレクトリ。スクリプトは、リリースをダウンロードする代わりに、これをインストールします。 |
ARKVORY_RELEASE_VERSION | 最新の安定版 | インストールする安定版の正確なバージョン(1.2.3など)。 |
インストーラーが設定するもの
インストーラーは、自身のヘルパープロセス用に、これらの変数を設定します。自分で設定しないでください。
| 変数 | 意味 |
|---|---|
ARKVORY_IMAGE | 現在のリリースのコンテナーイメージ。config/compose.envにあります。 |
ARKVORY_SERVICE_WRAPPER | Windowsのバックアップサービスのラッパーへのパス。サービスが停止しているときに使われます。 |
ARKVORY_PROTECT_ROOT | Windowsでアクセスルールを設定する対象の、インストールルート。 |
ARKVORY_ENGINE_USER | Docker Desktopを使うWindowsで、現在のユーザーにルートへのアクセスを与えます。 |