Squadbase
Squadbase Docs

squadbase.yml

squadbase.yml の設定方法について学びます。

Squadbaseでは、アプリをデプロイする時の設定ファイルとしてYAML形式のファイルを使用します。 アプリのビルド方法とクラウド環境の設定を記述するとデプロイ時に設定が自動的に反映されます。

YAMLは通常はsquadbase.ymlという名前で保存されます。デプロイ時にSetting file pathを変更することでファイル名を変更することも可能です。 使用するランタイムやフレームワークによって設定する必要のある項目が異なります。

version: '1'
 
# Build Settings
build:
  framework: streamlit # streamlit | nextjs | morph
  runtime: python3.9 # python3.9, python3.10, python3.11, python3.12, node18, node20, node22
  package_manager: pip # pip, poetry, uv, npm, yarn, pnpm
  entrypoint: src/app.py # src/app.py
  # Custom dockerfile settings
  context: .
  build_args:
    ARG1: value1
    ARG2: value2
 
# Deployment Settings
deployment:
  provider: gcp
  aws:
    memory: 512
    timeout: 30
    provisioned_concurrency: 0
    ephemeral_storage: 512
  gcp:
    memory: 1Gi
    cpu: 1
    timeout: 300
    concurrency: 80
    min_instances: 0
    ephemeral_storage: 10Gi

Build

アプリのビルドに関する設定は、build: 以下に記述します。

Squadbaseでは、アプリのビルドにDockerをしています。frameworkで利用可能なフレームワークに関しては、開発者が自分でDockerfileを用意する必要はありません。 公式サポート以外のフレームワークを利用する場合や、パッケージのインストールなど環境のカスタマイズをしたい場合は用意したDockerfileを使用することもできます。

公式サポートのフレームワークを使用する

公式サポートのフレームワークを使用する場合には、以下の値を設定してビルドを行います。

カラム説明
frameworkstreamlit nextjs morphフレームワーク
runtimepython3.9 python3.10 python3.11 python3.12 node18 node20 node22ランタイム
package_managerpip poetry uv npm yarn pnpmパッケージマネージャー
entrypointsrc/app.py src/main.py src/index.pyアプリのエントリーポイント

カスタムDockerfileを使用する

アプリのルートにDockerfileが設定されている場合、Squadbaseはbuild:以下のフレームワークの設定値は使用せずに、Dockerfileを使用してビルドを行います。 contextbuild_argsは自前のDockerfileを使用してビルドする時にのみ使用されます。

Deployment

アプリのデプロイに関する設定は、deployment: 以下に記述します。 providerで使用するクラウドプロバイダーを指定します。特に指定をしない場合は、gcpが使用されます。

AWS

カラム説明
memorynumberメモリ(MB)
timeoutnumberタイムアウト(秒), 最大値は900秒
provisioned_concurrencynumberプロビジョンドコンカレンシー
ephemeral_storagenumberエフェメラルストレージ(MB)

GCP

カラム説明
memorystring (例: 1Gi, 512Mi)メモリ
cpunumberCPU
timeoutnumberタイムアウト(秒), 最大値は900秒
concurrencynumber並列実行数
min_instancesnumber最小インスタンス数
ephemeral_storagestring (例: 1Gi, 512Mi)エフェメラルストレージ

課金体系

アプリの実行には、メモリベース、リクエストベース、CPUベースの3つの課金体系があります。 deploymentの項目で定義するコンピューティングのスペックに応じて実行時に課金がされます。

GB-秒,vCPU-秒は、メモリ,CPUをそれぞれ1GB,1vCPUで1秒間使用したときの課金額です。

メモリベース($/GB-秒)リクエストベース($/100万件)CPUベース($/vCPU-秒)
1. 課金体系(AWS)$0.0000200000$0.25-
2. 課金体系(AWS - 待機サーバー)$0.0000050000--
3. 課金体系(GCP)$0.0000030000$0.50$0.0000270
4. 課金体系(GCP - 待機サーバー)$0.0000030000-$0.0000270

On this page