You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Fly.io部署ObjectBox Sync:Docker --model参数配置疑问

在Fly.io部署ObjectBox Sync的--model参数配置方案

核心思路

本地Docker通过挂载本地目录加载objectbox-model.json,但Fly.io部署时无法直接挂载本地文件,所以需要将模型文件打包进镜像(静态模型首选)或使用Fly.io持久卷(适合动态更新场景)。以下是具体实现步骤:

1. 准备模型文件

确保项目根目录下存放着本地测试用的objectbox-model.json文件。

2. 镜像打包方案(静态模型首选)

编写Dockerfile

创建自定义镜像,把模型文件嵌入镜像内部:

# 基于官方ObjectBox Sync镜像
FROM objectboxio/sync:sync-server-2022-10-21

# 创建模型文件存放目录
RUN mkdir -p /app/model

# 复制本地模型文件到镜像中
COPY objectbox-model.json /app/model/

# 设置启动命令,指定模型文件路径
CMD ["--model", "/app/model/objectbox-model.json", "--unsecured-no-authentication", "--admin-bind", "0.0.0.0:9980"]

配置fly.toml

创建或修改fly.toml,配置端口暴露规则:

app = "your-app-name"
primary_region = "your-region"

# 配置Sync服务端口
[[services]]
  internal_port = 9999
  protocol = "tcp"

  [[services.ports]]
    port = 9999

# 配置管理后台端口
[[services]]
  internal_port = 9980
  protocol = "tcp"

  [[services.ports]]
    port = 9980
  • 替换your-app-name为你的Fly应用名称
  • 替换your-region为就近的Fly.io区域(如sin、iad)

部署命令

执行部署:

fly deploy

3. 持久卷方案(动态更新模型用)

如果后续需要频繁调整模型文件,可使用Fly.io持久卷挂载:

  1. 创建持久卷:
fly volumes create objectbox_data --size 1
  1. 修改fly.toml添加卷挂载:
[mounts]
  source = "objectbox_data"
  destination = "/data"
  1. 上传模型文件到卷:
fly ssh sftp put objectbox-model.json /data/
  1. 调整Dockerfile的启动命令:
CMD ["--model", "/data/objectbox-model.json", "--unsecured-no-authentication", "--admin-bind", "0.0.0.0:9980"]
  1. 重新部署:
fly deploy

内容的提问来源于stack exchange,提问作者Sithu Aung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 21:18:25