クラウドサンドボックスの設定
ローカル版やセルフホスト版に Sandock を接続し、Python、フレームワーク、分離環境が必要な AirApp を実行できるようにします。
クラウドサンドボックスは AirApp の実行エンジンの一つです。実行ごとに Sandock の一時的なクラウドマシンを使います。Python、ネイティブ依存、Next.js などのフレームワークが必要なとき、または自分のサーバーでアプリのプロセスを動かしたくないときに使います。
次のメッセージが表示される場合は、まだ設定されていません。
この AirApp にはクラウドサンドボックスが必要ですが、このデプロイでは Sandock が設定されていません。
必要なのは API キー 1 つだけで、セルフホスト版にプランの制限はありません。busabase.com では設定は不要で、Plus 以上のプランで利用できます。
API キーを用意する
- Sandock に登録してサインインします。
- Account Settings → API Keys を開き、Create New Key をクリックします。
- 生成されたキーをコピーします。表示されるのはこの一度だけです。
Busabase を動かすサーバーから https://sandock.ai にアクセスできる必要があります。閲覧者のブラウザからのアクセスは不要です。
キーを設定する
SANDOCK_API_KEY を Busabase のサーバープロセスに渡して再起動します。デプロイ方法に合わせて選んでください。
オープンソース版(busabase server)
SANDOCK_API_KEY=your-key busabase serverオープンソース版またはオールインワンイメージ(docker run)
既存のコマンドに追加します。
-e SANDOCK_API_KEY=your-keyCompose
.env に 1 行追加し、コンテナを作り直します。
SANDOCK_API_KEY=your-keydocker compose up -dHelm
キーを Secret に保存し、values.yaml から参照します。
kubectl create secret generic sandock --from-literal=apiKey=your-keyapp:
extraEnv:
- name: SANDOCK_API_KEY
valueFrom:
secretKeyRef:
name: sandock
key: apiKeyHelm では app.replicaCount: 1 のままにしてください。実行状態は起動したプロセスに保持されるため、複数レプリカではプレビューがランダムに開けなくなります。
デスクトップ版には現在この設定項目がありません。
任意の設定
| 変数 | 既定値 | 内容 |
|---|---|---|
SANDOCK_BASE_URL | https://sandock.ai | 別の Sandock サービスを使う場合に指定します。オリジンのみで、/api/v1 は付けません。 |
SANDOCK_SPACE_ID | 空 | サンドボックスを置く Sandock のスペースです。 |
SANDOCK_IMAGE | 空 | 実行イメージです。 |
動作を確認する
- 再起動後、サイドバーで AirApp にカーソルを合わせ、··· から設定を選びます。
- エンジンのドロップダウンにクラウドサンドボックスが表示されます。
- 選択して保存し、アプリを実行します。ログにサンドボックスの準備、
npm install、起動コマンドが順に表示されます。小さなアプリなら約 35 秒でプレビューが表示されます。
Premium でアプリを実行するには有効なライセンスが必要です。
費用と停止
サンドボックスの費用は Sandock アカウントに請求されます。実行ごとに 1 コア、メモリ 1GB のマシンを使います。
| 状況 | 停止するタイミング |
|---|---|
| 停止をクリックした | すぐに |
| 開いたまま誰も見ていない | アイドル状態が約 15 分続いた後 |
| 実行中に Busabase サーバーが終了した | 最長 4 時間後に Sandock 側で期限切れ |
プレビューを見られるのは実行を開始した本人だけです。クラウドサンドボックスは一時的な環境なので、公開サイトの配信には使わないでください。
トラブルシューティング
| 症状 | 原因と対処 |
|---|---|
| ドロップダウンにクラウドサンドボックスがない | キーがサーバープロセスに渡っていないか、再起動していません。SANDOCK_BASE_URL にパスが含まれている場合も同様です。 |
キーを追加するとサーバーが起動せず、ログに Sandock AirApp previews require a shared Redis cache と出る | 古いイメージの起動チェックです。最新のイメージに更新してください。 |
| ログがサンドボックスの準備で止まる | サーバーから sandock.ai にアクセスできるか、キーが有効かを確認してください。 |
| アプリは起動したのにプレビューが空白 | アプリが PORT 環境変数を読んでいるか確認してください。 |