Busabase

配置云端沙箱

给本地版和自建版配上 Sandock,让需要 Python、框架或隔离环境的 AirApp 能跑起来。

「云端沙箱」是 AirApp 的一种运行引擎:每次运行临时开一台云端机器,由 Sandock 提供。需要 Python、原生依赖、Next.js 这类框架,或者不想在自己服务器上跑应用进程时,就用它。

如果你看到这条提示,说明这台 Busabase 还没有配置:

此 AirApp 要求使用云端沙箱,但本部署尚未配置 Sandock。

配置只需要一个 API key,自建版不受套餐限制。busabase.com 云端版不用配置,Plus 及以上套餐可以直接使用。

准备 API key

  1. 注册并登录 Sandock。
  2. 进入 Account Settings → API Keys,点 Create New Key。
  3. 复制生成的 key。它只显示这一次。

运行 Busabase 的服务器要能访问 https://sandock.ai。访问者的浏览器不需要。

配置 key

把 SANDOCK_API_KEY 交给 Busabase 服务进程,然后重启。按你的部署方式选一种。

开源版(busabase server)

SANDOCK_API_KEY=你的key busabase server

开源版或一体机镜像(docker run)

在原来的启动命令里加上:

-e SANDOCK_API_KEY=你的key

Compose

在 .env 里加一行,再重新创建容器:

SANDOCK_API_KEY=你的key
docker compose up -d

Helm

先把 key 存进 Secret,再在 values.yaml 里引用:

kubectl create secret generic sandock --from-literal=apiKey=你的key
app:
  extraEnv:
    - name: SANDOCK_API_KEY
      valueFrom:
        secretKeyRef:
          name: sandock
          key: apiKey

Helm 部署请保持 app.replicaCount: 1。运行状态保存在启动它的那个进程里,多副本时预览会随机打不开。

桌面版目前没有配置入口。

可选配置

变量默认值作用
SANDOCK_BASE_URLhttps://sandock.ai使用其他 Sandock 服务时填写。只写域名,不要带 /api/v1。
SANDOCK_SPACE_ID空指定沙箱所在的 Sandock 空间。
SANDOCK_IMAGE空指定运行镜像。

确认生效

  1. 重启后,在左侧把鼠标移到任意 AirApp 上,点 ···,选设置。
  2. 运行引擎下拉框里应该出现云端沙箱。
  3. 选中它并保存,然后运行应用。日志里会依次出现开沙箱、npm install、启动命令。小应用大约 35 秒能看到预览。

Premium 需要有效的授权才能运行应用。

费用和回收

沙箱记在你的 Sandock 账号上。每次运行开一台 1 核、1GB 内存的机器。

情况什么时候停
点停止立刻
开着不管,没人看空闲约 15 分钟后
Busabase 服务在运行中被关掉最长 4 小时后,由 Sandock 到期停止

预览只有启动它的人能看。云端沙箱是临时环境,不适合当网站对外提供服务。

排查问题

现象原因和处理
下拉框里没有云端沙箱key 没传进服务进程,或者还没重启。SANDOCK_BASE_URL 带了路径时也会这样。
配上 key 后服务起不来,日志里有 Sandock AirApp previews require a shared Redis cache旧版镜像的启动检查。升级到最新镜像。
日志停在开沙箱这一步先检查服务器能否访问 sandock.ai,以及 key 是否有效。
日志显示应用已启动,预览是空的检查应用是否读取了 PORT 环境变量。

On this page