前言
日常工作、团队协作或是个人做台账管理时,在线表格是非常高频的工具。不管是做信息登记、项目台账、表单收集,还是简易的数据管理系统,很多人第一选择都是各类云端在线表格。但商用在线表格也存在不少痛点:高级功能需要付费解锁,存储空间存在限制,最重要的是所有业务数据全部托管在第三方服务商服务器,对于内部敏感资料、运维台账、私有业务数据来说,数据安全无法自己掌控。如果想要自建一套数据系统,传统数据库又需要开发人员编写接口、搭建页面,普通运维人员上手门槛高,开发耗时久。
NocoDB是一款完全开源免费的无代码平台,被称作开源版Airtable,它可以将SQLite、PostgreSQL、MySQL等数据库直接转换为可视化在线表格。不用编写复杂代码,就能够实现表格编辑、多视图切换、数据筛选排序、表单生成、权限分组、多人协同等丰富能力。所有的数据全部存储在自己的服务器当中,数据完全私有化,不用担心数据泄露、平台封号、功能收费等问题,个人使用、小团队内部协作都十分合适。
本次教程将在fnOS环境下,通过Docker容器方式完成NocoDB的完整部署,全程操作简单,快速搭建属于自己的私有化在线表格数据库。部署完成之后,借助cpolar内网穿透工具,无需公网IP,就可以实现外网远程访问,随时随地查看、编辑表格数据。接下来跟随步骤,一步步完成部署实操。
1.什么是NocoDB?
NocoDB是一款开源、自托管的无代码数据库平台,定位是私有化部署版Airtable替代工具,主打将传统数据库转化为在线可视化表格,实现零代码数据管理与团队协作。
✨核心特点
- 界面与体验
界面风格贴近Airtable,提供网格、看板、画廊、日历、表单多种视图;支持字段自定义、数据筛选排序、分组统计,以表格形式管理数据,普通用户无需掌握SQL语句,网页端即可完成数据操作。
- 数据完全自主可控
全部数据存放在自己服务器,支持SQLite、MySQL、PostgreSQL多种数据库,数据完全由自己保管,不受第三方平台约束,不用担心账号封禁、功能收费、云端数据泄露等问题。
- 团队协作能力
支持多人协同操作,具备细粒度权限管控,区分管理员、普通成员,可针对数据表、字段配置读写权限;支持对外生成收集表单,自动输出REST、GraphQL接口,文档支持导出,方便对接其他系统。
- 扩展能力
无需编写后端代码,就可以快速搭建简易业务系统;支持外部数据库导入,直接复用已有业务库;支持Webhook,可实现数据变更触发通知、联动其他服务。
🎯适用场景
- 个人自建台账、资料信息登记、个人数据管理
- 小团队搭建简易CRM、库存管理、任务台账、运维信息登记表
- 内部表单收集,问卷登记,业务数据统计
- 企业轻量无代码后台,替代付费在线表格,保护敏感内部数据
🧰技术栈
- 后端Node.js,支持SQLite/MySQL/PostgreSQL数据库,推荐使用Docker Compose一键部署,部署完成后可搭配cpolar内网穿透实现外网访问。
2.安装前提条件
2.1ssh远程连接到飞牛
- 开启【SSH 服务】
- 使用终端(Windows PowerShell / Mac Terminal)登录:
在设置—>SSH中开启SSH服务:
2.2验证docker是否开启
使用命令:
docker -v
systemctl status -v
也可以直接在飞牛主页查看(其他机器也是这样的哦~)
3.安装NocoDB
以容器名称noco后台启动NocoDB,将当前目录nocodb文件夹挂载持久化数据,映射8086端口,配置JWT密钥,使用官方nocodb镜像运行无代码在线表格服务:
“`shelldocker run -d \
docker run -d \
–name noco \
-v “$(pwd)”/nocodb:/usr/app/data/ \
-p 8086:8080 \
-e NC_AUTH_JWT_SECRET=”569a1821-0a93-45e8-87ab-eb857f20a010” \
nocodb/nocodb:latest

部署完成后,在浏览器中输入 `http://飞牛IP:8086` 就能看到NocoDB的界面:

## 4.安装myql
首先创建一下安装的目录并进入到该目录:
```shell
mkdir mysql
cd mysql/
创建并编辑 docker-compose.yml文件:
vi docker-compose.yml
version: "3.8"
services:
mysql:
image: mysql:8.0
container_name: mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "Sjixin520!" # root密码,和你NocoDB填写保持一致
TZ: "Asia/Shanghai"
volumes:
- ./mysql-data:/var/lib/mysql # 数据持久化,NAS本地文件夹
command:
--default-authentication-plugin=mysql_native_password
--bind-address=0.0.0.0 # 允许局域网所有IP连接
root@fnOS:/docker/mysql# docker-compose up -d
启动容器:
docker compose up -d
安装完成后,登录到mysql:
mysql -h127.0.0.1 -P3306 -uroot -p
为了后续测试,我们先创建一个“shan”数据库:
CREATE DATABASE shan CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
为其创建表:
use shan;
CREATE TABLE `user` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`name` VARCHAR(50) NOT NULL COMMENT '姓名',
`phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
展示表结构:
SHOW TABLES;
为该表插入数据:
INSERT INTO user (name, phone)
VALUES
('李四','13900139000'),
('王五','13700137000');
5.使用NocoDB
5.1 初始化
初次登录记得注册账户密码:
添加自己相关信息:
登录成功:
5.2 创建新的数据库
点击“New Base”:
输入名称及类型后,点击创建数据库:
创建成功:
我们点击进去这个数据库:
创建一个新表格,数据源选择默认:
编辑表格信息:
5.3 连接外部数据(mysql举例)
选择连接外部数据源:
输入连接的基本信息,数据库选我们刚刚新建好的,选好之后测试连接,连接成功后创建链接:
连接成功:
连接显示成功:
把MySQL的shan数据库,导入NocoDB,用网页表格界面来操作MySQL,不用敲SQL命令。
显示成功!
我们来验证一下同步性,往里插入数据:
成功显示:
自己也可以往里插入数据:
自己插入的数据也同步更新!
SELECT * FROM user;
创建新字段:
实时对字段进行编辑:
根据字段“name”进行查询:
5.4 导入数据
该软件也支持从外部导入文件:
有以下格式:
我这里举例json格式:
[
{
"id": 1,
"username": "zhangsan",
"age": 22,
"email": "zhangsan@test.com"
},
{
"id": 2,
"username": "lisi",
"age": 25,
"email": "lisi@test.com"
},
{
"id": 3,
"username": "wangwu",
"age": 28,
"email": "wangwu@test.com"
}
]
自动识别数据:
导入成功!
NocoDB可以把MySQL数据库转化为可视化多维表格,实现在线增删改查数据,但部署在飞牛NAS本地时仅局域网内可以访问,借助cpolar内网穿透无需公网IP、不用调试路由器,一键生成HTTPS公网访问地址,轻松把内网NocoDB服务对外暴露,团队成员无论身处何地,只需要打开浏览器即可访问表格界面,直接操作数据库完成远程数据协作,本地留存全部数据的同时轻松解决外网访问难题。
6.安装cpolar实现随时随地开发
6.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
6.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
7.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:nocodb,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8086
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
访问成功。
8.保留固定公网地址
使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是nocodbb,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
总结
本文完整演示了在飞牛fnOS上通过Docker部署NocoDB开源在线表格工具,搭配MySQL数据库完成库表创建、测试数据写入,实现数据库可视化网页管理。NocoDB可以把MySQL直接转换为类Excel的在线表格,摆脱命令行操作,支持网页端增删改查数据表。
由于部署在本地NAS环境,默认仅局域网访问,借助cpolar内网穿透,无需公网IP、不用改动路由器配置,即可生成HTTPS公网地址,实现外网远程访问自建的NocoDB,方便异地团队协同编辑数据,所有数据依旧保存在本地NAS,兼顾访问便利与数据隐私安全。教程同时覆盖数据源配置、JSON数据导入、连接排错等实操踩坑要点,帮助快速完成整套环境落地。
感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站




















































