Bencher Self-Hosted
Bencherはオープンソースです。 SaaSであるBencher Cloud、そしてセルフホスト可能なコンテナイメージのセットとして利用可能です:
- Bencherコンソールサーバー
- Bencher APIサーバー
デプロイ
Bencher Self-Hosted をデプロイする最も簡単な方法は、bencher
CLI のサブコマンドの三連画です:
bencher up
: Bencher Self-Hosted のコンテナを起動します。 これはdocker compose up
を実行するのと似ています。bencher logs
: Bencher Self-Hosted のコンテナからの出力を表示します。 これはbencher up
が--detach
フラグ で実行された場合に必要です。 これはdocker compose logs
を実行するのと似ています。bencher down
: Bencher Self-Hosted のコンテナを停止して削除します。 これはbencher up
が--detach
フラグ で実行された場合に必要です。 これはdocker compose down
を実行するのと似ています。
bencher up
Bencher セルフホスト型コンテナを作成して開始します。
これは docker compose up
を実行するのと似ています。
サービス
実行するコンテナを選択します。
選択肢は、all
、api
、および console
です。
デフォルトでは all
が選択されます。
docker compose up
の SERVICE
引数に類似しています。
オプション
--detach
デタッチモードで実行します。
コンテナはバックグラウンドで実行されます。
docker compose up
の--detach
フラグと似ています。
--pull <WHEN>
実行する前にイメージをプルします。
選択肢は always
、missing
、never
です。
デフォルトでは always
が選ばれます。
docker compose up
の --pull
オプションに似ています。
--tag <TAG>
コンテナのイメージタグを指定します。 デフォルトでは、イメージタグは bencher
CLI のバージョンと一致します。最新の bencher
CLI のバージョンは v0.4.30
です。
--console-port <PORT>
Consoleサーバーコンテナのポート番号を指定します。
デフォルトでは、ポート3000
が使用されます。
docker run
の--expose
オプションのポートのみの形式と類似しています。
--api-port <PORT>
APIサーバーコンテナのポート番号を指定します。
デフォルトでは、ポート61016
が使用されます。
docker run
の --expose
オプションのポートのみの形式に似ています。
--console-env <KEY_VALUE>
環境変数をコンソールサーバーコンテナに渡します。
期待されるフォーマットは KEY=value
です。
コンソールサーバーの設定で作業する際に役立ちます。
docker run
の --env
オプション と似ています。
--api-env <KEY_VALUE>
環境変数をAPIサーバーコンテナに渡します。期待されるフォーマットはKEY=value
です。これはAPIサーバー設定を扱う際に便利です。docker run
の --env
オプションと似ています。
--console-volume <HOST_CONTAINER>
マウントボリュームをコンソールサーバーコンテナに渡します。期待される形式は /host/path:/container/path
です。これは、コンソールサーバーの設定 を操作する際に役立ちます。docker run
の --volume
オプション と似ています。
--api-volume <HOST_CONTAINER>
APIサーバーコンテナにマウントボリュームを渡します。
期待される形式は /host/path:/container/path
です。
これはAPIサーバーの設定を扱う際に便利です。
docker run
の --volume
オプションに似ています。
--help
ヘルプを表示します。
bencher logs
Bencherセルフホスト型コンテナからの出力を表示します。
もしもbencher up
が --detach
フラグを使用して実行された場合です。
これはdocker compose logs
を実行することに似ています。
サービス
実行するコンテナを選択します。
選択可能なオプションは、all
、api
、および console
です。
デフォルトでは all
が選択されています。
docker compose logs
の SERVICE
引数と似ています。
オプション
--help
ヘルプを表示します。
bencher down
Bencherのセルフホスティングコンテナを停止し、削除します。ただし、 --detach
フラグと共にbencher up
を実行した場合に限ります。これはdocker compose down
を実行するのと類似しています。
サービス
実行するコンテナを選択します。
選択肢は all
、api
、console
です。
デフォルトでは all
が選択されます。
docker compose down
の SERVICE
引数に似ています。
オプション
--help
ヘルプを表示します。
あるいは、docker compose
を使用してコンテナをオーケストレーションすることもできます。
以下は docker-compose.yml
ファイルの例です:
HTTPS
HTTPS を設定するには、Bencher Self-Hosted を HTTPS が有効になっているプロキシの背後に配置するか、有効な SSL 証明書を持つドメイン名を使用することができます。
ホストURL
Bencher Self-Hostedを使用する場合、ほとんどのbencher
CLIサブコマンドで、Bencher APIサーバーのURLを --host
オプションで設定する必要があります。
例えば、Bencher APIサーバーがhttps://api.bencher.example.com
の場合にbencher run
CLIサブコマンドを使用する場合、以下のように記述できます:
バックアップ
Bencher Self-Hosted APIサーバーをバックアップする最も簡単な方法は、
bencher server backup
CLIサブコマンドを使用することです。
このサブコマンドを使用するには、ユーザーはサーバーの管理者である必要があります。
bencher server backup
APIサーバーデータベースのバックアップ。
オプション
--host <URL>
Bencher Self-Hosted APIサーバーのURL。
例えば、https://api.bencher.example.com
。
--token <TOKEN>
--token
オプションまたはBENCHER_API_TOKEN
環境変数のいずれかを、有効なAPIトークンとして設定する必要があります。
両方が指定されている場合、--token
オプションがBENCHER_API_TOKEN
環境変数よりも優先されます。
--compress
データベースバックアップを gzip
で圧縮します。
この操作は最初に実行されます。
--data-store <DATA_STORE>
データベースバックアップをこのデータストアに保存します。この操作は2番目に実行されます。
サポートされているデータストア:
aws_s3
: AWS S3へのバックアップ
Bencher Self-Hosted APIサーバーのデータストアを設定するには、APIサーバーの設定ファイル内の database.data_store
セクションを使用してください。
--remove
ローカルコピーのデータベースバックアップを削除します。 この操作は3番目に実行されます。
ディザスタリカバリ
バックアップ間でのデータ損失を防ぐために、Bencherは組み込みのディザスタリカバリソリューションを提供します。 この機能にはアクティブなBencher Plusライセンスが必要です。
サポートされているレプリケーションスキーム:
file
: ローカルファイルパスへレプリケーションsftp
: SFTP経由でレプリケーションs3
: S3互換の任意のブロブストレージへレプリケーションabs
: Azure Blob Storageへレプリケーションgcs
: Google Cloud Storageへレプリケーション
Bencher Self-Hosted APIサーバー用のディザスタリカバリを設定するには、APIサーバー設定のplus.disaster_recovery
セクションを使用してください。