想做个内部小系统——设备台账、客户跟进、库存登记表——又不想从头写前后端?NocoDB 把 MySQL / PostgreSQL 这样的数据库包成类似 Airtable 的在线表格:支持网格视图、表单、画廊、角色权限,还能自动生成 REST API,而数据始终在你自己的库里。本文在雨云 KVM 云服务器用 Docker 跑 NocoDB,并接 MariaDB 做存储,做一个”数据自控、不绑 SaaS”的轻量后台。
它和哪些工具不重叠
- 不是文档/wiki(区别于 BookStack 与 Wiki.js);
- 不是任务看板(区别于 Vikunja);
- 它管的是”结构化的表数据 + 多视图 + 权限 + API”,适合台账、清单、轻量业务表。
一、准备与部署
建目录并准备 docker-compose.yml:
services:
db:
image: mariadb:11
container_name: nocodb-db
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=换成强密码
- MYSQL_DATABASE=nocodb
- MYSQL_USER=nocodb
- MYSQL_PASSWORD=换成强密码
volumes:
- ./db:/var/lib/mysql
nocodb:
image: nocodb/nocodb:latest
container_name: nocodb
restart: unless-stopped
depends_on:
- db
ports:
- "8080:8080"
environment:
- NC_DB=mysql2://db:3306?u=nocodb&p=换成强密码&d=nocodb
- NC_AUTH_JWT_SECRET=换成随机长字符串
- TZ=Asia/Shanghai
启动:docker compose up -d。首次打开 http://服务器IP:8080 注册管理员即创建第一个”工作空间”。
二、建表与视图
- 从 Excel / CSV 直接导入,自动识别列类型;
- 网格视图(Grid)像电子表格一样增删改;
- 表单视图(Form)生成对外填报页,适合收集;
- 画廊视图(Gallery)按封面图展示记录;
- 字段支持文本、数字、单选、关联(Link to another record)、公式等,能做简单的跨表关联。
三、权限与 API
- 角色:owner / creator / editor / viewer / commenter,按人授权,避免全员可改。
- 自动 API:每个表都生成 REST 接口,配合 n8n 自动化工作流 可以做成”表单提交→自动建任务/发通知”之类的小流程,不用写代码。
四、备份与安全
- 数据库在
./db卷,用 BorgBackup 去重加密备份 定期打包最稳;也可配合 rclone 云盘同步 再传一份到对象存储。 - 管理后台属于敏感入口,暴露公网前务必加 HTTPS + 强密码,参考 VPS 到手第一件事 的防火墙与访问控制。
合规提醒
NocoDB 常用来存业务数据,使用时注意:
- 表内若含个人信息(姓名、电话、客户资料等),遵守《个人信息保护法》的最小必要与访问控制要求,不要超范围收集。
- 仅用于合法的业务登记与协作,不建违规用途的采集表;管理账号按需授权,避免数据越权访问。






