NocoDB 自部署实战教程:5 分钟把数据库变成无代码在线表格
【免费下载链接】nocodb🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodb
照这篇做,5 分钟能在一台有 Docker 的机器上跑起 NocoDB。它是一个自托管的开源无代码数据库,可视为 Airtable 的自部署替代:把 MySQL、PostgreSQL、SQLite 指给它,表就变成带网格、看板、日历、表单视图的网页;没有数据库时,内置 SQLite 直接可用。所有数据留在你自己的服务器上。
🧭 先判断:你适不适合跑它
适合
- 已有数据库,想给不会写 SQL 的同事一个能填、能筛的表格界面
- 小团队共享任务表、线索表,需要看板协作和权限控制
- 数据必须落在自己机器上,不能用 SaaS
不适合
- 没有服务器,只想装一个现成在线服务
- 只维护一两张小表,Excel 就够用
- 需要专业 BI 报表、大规模数据分析
🔌 对接哪个数据源:三种现有情况
- 已有 MySQL / PostgreSQL / SQLite→ 部署后直接连过去,已有表变成 Base,不搬数据
- 只有 CSV / Excel→ 跑起来后导入,文件变成一张可协作的 Base
- 两者都没有→ 用内置 SQLite,零配置,先跑通再说
三条路只有数据来源不同,界面、视图、分享方式完全一样。
🚀 单命令跑起来:最简启动命令
一条命令,默认走内置 SQLite:
docker run -d --name noco -p 8080:8080 \ -v nocodb_data:/usr/app/data \ nocodb/nocodb:latest两个参数设错都会出事:
-v nocodb_data:/usr/app/data:元数据和附件都存在这个卷里。不挂载,容器一删数据全丢。-p 8080:8080:宿主机用 8080 访问。被占用的话只改冒号前,如9090:8080。
启动后浏览器打开http://localhost:8080/dashboard,第一个注册的账号就是管理员。上生产要补两项:用NC_DB把元数据换成 PostgreSQL,并给NC_AUTH_JWT_SECRET设一个固定随机字符串——不固定,每次重启签名密钥都变,所有人掉线重登。
📋 走一遍:建一张"任务"表并分享出去
定义数据。在 dashboard 新建项目,下面添加 Base"任务",加四列:任务名(SingleLineText)、状态(SingleSelect,选项 待办/进行中/完成)、负责人(User,从工作区选人)、截止日期(Date)。
换显示方式。加一个 Kanban 视图,按"状态"分组。行变成列里的卡片,把卡片拖到"完成"列就等于改了状态,不用再编辑单元格。
分享或触发。加一个 Form 视图,把链接发出去:没账号的同事能填任务,但看不到表里的其他内容。团队内协作用右上角 Share Base 生成带密码的链接即可。
⚙️ 进阶配置速查:只在这四种情况改变量
| 什么情况 | 改哪项 | 怎么改 |
|---|---|---|
| 元数据从 SQLite 换到 PostgreSQL | NC_DB | 连接串,pg://host:5432?u=user&p=pass&d=dbname形式 |
| 多人访问、重启不掉登录态 | NC_AUTH_JWT_SECRET | 一个固定随机字符串,别用默认 |
| 对外分享链接、邮件通知 | NC_SITE_URL | 实例的公网访问地址 |
| 多容器部署、实时同步 | NC_REDIS_URL | redis://host:6379形式 |
带 PostgreSQL、Redis、worker 的完整配置示例在 docker-compose/examples/quickstart-demo/,compose up即可。
🚨 故障模式清单:现象 → 原因 → 修法
- 重建容器后数据没了→ 没挂数据卷 → 补
-v nocodb_data:/usr/app/data再重建。 - 8080 端口被占,页面打不开→ 宿主机端口冲突 → 映射改成
-p 9090:8080,换新端口访问。 - 每次重启都要重新登录→
NC_AUTH_JWT_SECRET没固定 → 设固定随机字符串并重启。 - 外部打不开分享链接、收不到邮件→
NC_SITE_URL没设,系统生成不了对外 URL → 设为公网地址。 - 已有数据库连不上→ 连接串或网络不通 → 逐项核对
NC_DB里的主机、端口、账号、库名。
🌱 跑通之后:API、自动化与扩展
- REST API:在界面生成 API token,就能用 REST 端点读写数据;官方 SDK 在 packages/nocodb-sdk/。
- 自动化:Webhook 和 workflow 可以在数据变更时触发外部服务或内部动作,适合做通知、同步。
- 扩展:仓库自带数据导出类扩展,如 contenteditable="false">【免费下载链接】nocodb🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative
项目地址: https://gitcode.com/GitHub_Trending/no/nocodb
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考