docker compose up -d 起四个容器:主服务、PostgreSQL、Redis、Python 沙箱。四个容器里只有主服务对宿主机开端口,其余只在 Compose 内部网络里互相访问。
这份 compose 是客户交付版:根路径最小集。仓库里另有一份 deploy/docker-compose.yaml,那是内部 staging 版,带子路径、Caddy 反代和飞书网关,服务对象不同,不要求两份逐字一致。各服务的第三方镜像和 asktable 的环境变量键名两边必须相同,由 scripts/check-docs-facts.sh 校验。
前置条件
部署机器需要放行以下地址的 HTTPS(443)出站访问:
完全离线部署:在能联网的机器上
docker save 出四个镜像,拷进内网 docker load,再按 配置大模型 在向导里选「自定义渠道」接内网模型,上表四个域名都不用放开。操作步骤
1
保存 docker-compose.yaml
在服务器上新建一个目录(例如
/opt/asktable),把下面“docker-compose.yaml”一节的内容原样存成该目录下的 docker-compose.yaml。端口和卷路径都别改:端口决定访问地址,卷路径决定数据落在宿主机的哪个目录。2
启动
在
docker-compose.yaml 所在目录执行:asktable 容器启动时会先跑一遍数据库结构迁移(syncdb),再拉起 API、nginx、后台任务进程和内置 MCP 服务。首次启动会自动建 asktable 和 asktable_workbook 两个库。3
完成初始化向导
浏览器打开
http://<服务器地址>:8000/。数据库里还没有用户时,会直接进 /setup 初始化向导,顶部两个步骤指示是「创建管理员」「配置模型」。- 「创建管理员」:填邮箱、密码(密码至少 6 位)、确认密码,点「创建管理员」。
- 「配置模型」:选「AskTable 官方 API 渠道」并填算力 API Key,或选「自定义渠道」填 Base URL、API Key、模型名称,点「完成配置」。
docker-compose.yaml
四个服务的作用写在行内注释里。后端服务之间通过 Compose 内部网络通信,只有asktable 对外暴露端口。
docker-compose.yaml
要让团队在飞书群里问数,还需要额外加一个网关容器,见 部署飞书网关。
访问地址
关键约束
出问题怎么判断
升级
:latest,pull 会拉到当前最新版;要升到指定版本,把 image 的 :latest 换成具体版本号(例如 :4.0.77-0212)。跨版本需要额外手动操作的迁移见 版本升级与迁移。
