私有部署把 AskTable 的全部组件跑在你自己的服务器上,数据不出内网。一条 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 服务。首次启动会自动建 asktableasktable_workbook 两个库。
3

完成初始化向导

浏览器打开 http://<服务器地址>:8000/。数据库里还没有用户时,会直接进 /setup 初始化向导,顶部两个步骤指示是「创建管理员」「配置模型」。
  1. 「创建管理员」:填邮箱、密码(密码至少 6 位)、确认密码,点「创建管理员」。
  2. 「配置模型」:选「AskTable 官方 API 渠道」并填算力 API Key,或选「自定义渠道」填 Base URL、API Key、模型名称,点「完成配置」。
完成后跳到登录页,用刚建的管理员账号登录。

docker-compose.yaml

四个服务的作用写在行内注释里。后端服务之间通过 Compose 内部网络通信,只有 asktable 对外暴露端口。
docker-compose.yaml
生产部署前务必改掉标了 【建议修改】 的默认密钥:DATABASE_PASSWORD(与 POSTGRES_PASSWORD 一致)。
要让团队在飞书群里问数,还需要额外加一个网关容器,见 部署飞书网关

访问地址

关键约束

出问题怎么判断

升级

交付 compose 用的是 :latestpull 会拉到当前最新版;要升到指定版本,把 image:latest 换成具体版本号(例如 :4.0.77-0212)。跨版本需要额外手动操作的迁移见 版本升级与迁移

卸载

删数据卷会清空所有数据,不可恢复。执行前先备份。

下一步