Teable 自托管安装教程3 个 Docker 容器搭一套自己的数据协作平台【免费下载链接】teable✨ AI Spreadsheet for Business项目地址: https://gitcode.com/GitHub_Trending/te/teableTeable 是一款开源的数据协作平台界面像电子表格底层是真实的 PostgreSQL 数据库。用一条docker compose up命令即可在单机上跑起来表格、视图、自动化和 API 全部可用数据完整存放在自己的服务器里这就是 Teable 私有化部署的基本形态。先搞清楚它解决什么问题以及哪个版本适合你Teable 的定位可以概括为表格的体验 数据库的底座团队成员像用 Excel 一样填写、筛选、分组数据但底层每一张表都是 PostgreSQL 里的真实表因此可以直接写 SQL 查询、通过 REST API 对接外部系统也可以给不同字段加权限和校验。一个典型的场景是小团队的运营数据一直散落在 Excel 和聊天工具里想要一个有字段类型、有公式、能多人同时编辑、还能按角色控制查看范围的内部系统又不想把数据交给第三方 SaaS。Teable 的 standalone独立版部署就是为这个场景准备的——一台机器、三个容器覆盖表格协作、视图、自动化和 API。需要直说的一点standalone 版本不包含 AI 能力。AI 对话、应用构建器App Builder和沙箱环境属于官方另一个全功能自托管部署方案仓库名为 teable-deployment部署规模更大。如果你的需求只是数据管理和协作standalone 足够后面所有步骤都基于它展开。30 分钟跑通 standalone 部署这一节的目标只有一个让http://127.0.0.1:3000能打开登录页。部署前需要准备什么一台 Linux 服务器或本地机器已安装 Docker 20.10 及以上版本和 docker compose 插件资源基线参考4GB 内存、20GB 空闲磁盘是起步值。standalone 只有应用 PostgreSQL Redis三个进程单机即可承载当并发编辑人数多、表数据量大数十万行以上时再考虑升到 8GB 内存。三步启动第一步把仓库克隆到服务器仓库为只读不要修改其中文件git clone https://gitcode.com/GitHub_Trending/te/teable第二步进入官方给出的 standalone 示例目录 dockers/examples/standalone/编辑.env文件把示例密码替换成真实密码——POSTGRES_PASSWORD、REDIS_PASSWORD在仓库里都是example2password这类占位值生产环境必须改掉后面配置要点一节会逐项说明。第三步启动并观察docker compose up -dcompose 文件里定义了三个服务各自职责如下服务镜像作用对外端口teableghcr.io/teableio/teable:latest应用主体前端 NestJS 后端3000teable-dbpostgres:15.4数据存储42345宿主机映射 5432teable-cacheredis:7.2.4缓存与会话不对外暴露两个细节值得注意teable-db和teable-cache都配置了 healthcheck而teable通过depends_on: condition: service_healthy声明要等数据库和缓存就绪后才启动所以正常流程下不会出现应用先于数据库启动导致的启动失败。此外这个示例默认关闭了遥测上报数据不会外发。快速验证是否部署成功判断标准很简单按顺序确认三件事执行docker compose ps三个容器都应显示为Up数据库和缓存容器还会带(healthy)标记。如果 teable 容器反复出现在Restarting状态基本可以断定.env里的数据库连接信息有问题。浏览器访问http://127.0.0.1:3000公网服务器改成对应 IP/域名能打开登录页即说明应用层正常首次访问可注册管理员账号创建一张表、加一个数字字段、再拖一个公式字段走通这条最小路径就算完成功能验证。如果页面打不开先确认宿主机 3000 端口没有被其他进程占用再执行下面的命令看应用自己的输出报错通常会直接指向环境变量或数据库连接docker compose logs -f teable常见的配置失败信号有三种表现端口占用3000 被占curl返回的是别的服务、数据库不健康teable-db卡在starting/unhealthy多为密码字符问题、PUBLIC_ORIGIN 不匹配页面能开但接口 403见下节。部署后优先体验的核心能力Teable 私有化部署后的工作台界面同一张表可以切换多种视图多视图网格视图适合大批量数据的筛选、排序和批量编辑官方示例中它被用来展示传统电子表格式操作看板视图把记录按字段值分列适合任务状态流转此外还有日历、表单、画廊视图。公式与聚合字段支持公式、查找引用lookup、汇总rollup、筛选分组排序仪表盘可以基于这些聚合做图表展示适合销售、项目进度这类需要一眼看到汇总的场景。协作与追溯多人实时编辑同一张表记录级评论支持图文混排且每张记录保留修改历史谁在什么时候改了什么可以回查。数据进出支持导入/导出、附件预览、搜索、字段校验以及直接对底层 PostgreSQL 执行 SQL 查询——这一点对需要和现有数据体系打交道的团队很关键。私有化配置.env 里必须改的三处.env是唯一需要认真看的配置文件建议部署前逐条过一遍。两个密码。POSTGRES_PASSWORD和REDIS_PASSWORD在仓库示例中均为占位值。数据库密码会被写进PRISMA_DATABASE_URL由应用使用两处不一致是应用反复重启的高频原因改完密码后确认这两项匹配再docker compose up -d即可修改后需让 teable 容器重新读取环境变量。PUBLIC_ORIGIN。示例值为http://127.0.0.1:3000它表示用户浏览器实际访问的地址。通过域名或反向代理对外提供时这里必须改成对外地址否则会出现页面能打开、但接口请求被拒绝的情况。TIMEZONE。示例默认UTC国内部署建议改为Asia/Shanghai影响界面时间和日志时间戳的一致性。关于数据持久化compose 文件用三个命名卷teable-data存应用附件、teable-db存 PostgreSQL 数据、teable-cache存 Redis 数据保存所有关键数据。compose 文件里预留了注释掉的 bind mount 写法如果你不希望数据只存在于 Docker 卷管理下可以改用宿主机目录挂载备份和迁移会更方便。删除容器不会丢数据但删除卷会丢全部数据这一点在运维时需要向团队成员明确。常见启动失败原因与排查顺序按出现频率排序的排查路径3000 端口冲突宿主机已有服务占用 3000。修改 compose 中ports的宿主机一侧如3001:3000并同步更新PUBLIC_ORIGIN。teable 容器不停重启90% 是.env问题用docker compose logs -f teable看报错重点核对PRISMA_DATABASE_URL与POSTGRES_*是否一致。数据库容器 unhealthydocker compose logs teable-db查看初始化日志确认密码包含特殊字符时写法没有问题。资源不足内存紧张时 PostgreSQL 和 Node 服务最先受影响可用docker stats实时观察各容器占用持续偏高再考虑升配。日常运维只需两条命令docker compose logs -f teable看应用日志、docker stats看资源水位足够覆盖大部分巡检场景。数据备份怎么做Teable 的业务数据几乎全部在 PostgreSQL 里所以pg_dump是最可靠的备份手段。示例中数据库容器的服务名是teable-dbdocker compose exec teable-db pg_dump -U $POSTGRES_USER $POSTGRES_DB backup_$(date %Y%m%d).sql建议把这条命令放进 cron 定期执行并定期做一次恢复演练——备份文件只有真正恢复成功过才算有效。应用附件teable-data卷和 Redis 数据teable-cache卷可以另行做卷级备份Redis 中主要是缓存丢失后会自动重建优先级低于数据库。扩展方向API、插件与全功能版standalone 版本自带的扩展面已经不小REST API 可以对接自动化脚本和现有系统SQL 查询能力方便直接做跨表分析插件机制支持自定义图表等扩展组件具体能力清单以仓库内 README 与官方文档为准。如果之后确实需要 AI 对话、用自然语言构建应用App Builder、以及 AI 沙箱环境官方提供了独立的全功能自托管方案并且支持从 standalone 平滑升级、已有数据保留在原位选型时可以留一条退路。部署架构细节见 dockers/README.md。总结下来数据敏感、想用表格体验 数据库能力管理内部业务的中小团队standalone 部署是目前最轻的私有化路径如果你只是先评估功能也可以直接按本文的三步在一台空机器上跑一遍确认 3000 端口的登录页和一张能公式计算的表再决定是否投入正式环境。【免费下载链接】teable✨ AI Spreadsheet for Business项目地址: https://gitcode.com/GitHub_Trending/te/teable创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考