前言
在日常的开发与运维工作里,我们经常会遇到大量内部业务系统、管理后台、数据查询面板的开发需求。很多场景并不需要复杂花哨的功能,仅仅只是实现数据的增删改查、表单录入、状态管理,却依然要经历后端接口编写、数据库设计、前端页面开发、联调测试整套流程。一遍遍重复搭建后台模板、编写同质化业务代码,不仅占用大量开发时间,也会消耗团队宝贵精力。
很多小团队没有充足人力投入完整项目开发,想要快速搭建内部工具,又不想投入高额商业低代码平台费用,开源方案就成了最优选择。ToolJet作为一款热门开源低代码平台,就很好解决了这类痛点。依托可视化拖拽组件,无需手写大量前后端代码,即可快速搭建管理页面,同时支持对接MySQL、PostgreSQL、Redis等多种数据库,也可以调用第三方API接口,快速整合已有业务数据。
它支持Docker一键私有化部署,数据完全掌握在自己手中,保障内部业务数据安全。结合cpolar内网穿透工具,不需要公网IP,不用配置路由器,部署完成后就能生成公网访问地址,让团队成员在外网也可以访问这套自建业务系统。不用重复造轮子,几分钟即可完成一套可用业务系统的搭建,帮助开发者把精力聚焦核心业务逻辑,高效落地各类内部管理工具。
1.什么是ToolJet?
ToolJet是一款开源低代码开发平台,可以作为商业低代码工具的开源平替,专门用来快速搭建内部后台、表单系统和数据看板,省去重复开发后台的繁琐工作。
传统开发内部业务系统,需要完成数据库设计、后端接口开发、前端页面编写、联调测试整套流程,就算只是简单的数据增删改查,也要投入不少开发时间。市面上商用低代码平台大多收费,数据托管在第三方云端,数据隐私无法自主掌控,ToolJet就在这样的需求下诞生,主打私有化部署、拖拽可视化搭建,快速产出业务应用。
✨核心特点
- 可视化拖拽搭建,内置表单、表格、图表、按钮等丰富组件,直接拖拽组装页面,不用从零编写大量前端代码,快速完成管理界面开发。
- 丰富数据源对接能力,支持连接MySQL、PostgreSQL、Redis等数据库,兼容REST、GraphQL接口,还可运行JS/Python脚本处理数据,能够对接已有业务系统。
- 部署简单便捷,本身可通过Docker容器快速部署,一条
docker‑run或者docker‑compose即可完成安装,无多余依赖;搭配cpolar内网穿透,无需公网IP,就可以把搭建好的业务系统对外网开放访问。 - 团队协作与权限管控,自带多用户、角色权限、应用版本管理,支持多人协同编辑应用,可以针对不同人员设置页面、数据操作权限。
- 开源私有化部署,数据全部保存在自己服务器,不会上传第三方平台,对内部业务数据更加安全,个人、小团队都可以免费使用社区版本。
适合什么人用
- 自托管爱好者,需要快速搭建各类内部工具、数据查询面板
- 小团队,不想投入高额费用采购商业低代码平台
- 开发者,厌烦重复写CRUD后台,希望把精力放在核心业务上
- NAS、服务器用户,需要快速搭建自用业务系统,搭配cpolar实现外网访问
⚠️局限性ToolJet擅长快速搭建内部管理类应用,不适合超复杂、高并发面向C端的大型互联网产品,更加适合企业内部工具、自用业务系统,并不建议直接用于大规模公网生产业务。
2.前提条件
2.1ssh远程连接到极空间
- 开启【SSH 服务】
- 使用终端(Windows PowerShell / Mac Terminal)登录:
ssh root@IP
没有ssh的小伙伴可以参考这篇文章:
连接成功:极空间别再吃灰了!开启SSH,秒变全能服务器! – cpolar 极点云官网
2.2验证docker是否开启
使用命令:
docker -v
systemctl status -v
没有docker的小伙伴可以参考这篇文章:极空间开箱实录:从拆箱到远程访问保姆级教程,30分钟上手! – cpolar 极点云官网
3.安装ToolJet
从Docker镜像仓库拉取tooljet的try体验版镜像。
sudo docker pull tooljet/try
启动tooljet的容器,设置开机自动重启,将本机8083端口映射到容器80端口,并创建数据卷持久化数据库:
sudo docker run --name tooljet --restart unless-stopped -p 8083:80 -v tooljet_data:/var/lib/postgresql/13/main tooljet/try:latest
部署完成后,在浏览器中输入 http://极空间IP:8083 就能看到tooljet的界面:
4.使用Tooljet
4.1 初始化
开始使用tooljet:
初次登录时,注册信息:
继续默认安装:
登录成功:
修改日夜间模式:
4.2 连接数据库
成功部署后,我们来创建第一个应用。以连接PostgreSQL数据库为例:
- 登录ToolJet后,点击”Create new app”
- 在左侧导航栏选择”Data Sources”,点击”+ Add data source”
- 选择”PostgreSQL”,填写数据库连接信息
- 点击”Test connection”验证连接,成功后保存
4.3 创建应用
通过SQL查询读取users表数据,直接渲染成功能完备的数据表格,支持勾选选择、多标签展示兴趣字段,右侧可查看原始JSON数据、配置列属性,可视化完成后端数据到前端表格的快速搭建。
ToolJet还有很多低代码组件面板,把组件划分为常用、布局、表单三大分类,提供表格、按钮、弹窗、输入框、日期选择、下拉框、开关、复选框等丰富可视化组件,直接拖拽即可完成页面搭建,不用手写前端代码快速搭建业务界面。
ToolJet编辑器完整工作界面:左侧为Inspector 检查器,以对象树形式展示当前应用全部资源,包含查询、页面所有组件(按钮、复选框、加载动画 spinner、表格、弹窗)、全局变量、页面常量,可查看每个组件 ID 与内部属性;中间画布区域可视化摆放按钮、复选框、加载器等 UI 控件;右侧是属性配置面板,针对选中的复选框组件,可以设置标签、默认状态、绑定事件处理器、表单校验、显隐 / 禁用状态、提示文案;底部面板管理数据库查询,可配置、运行 SQL 请求。整体实现可视化拖拽 + 属性配置 + 数据查询联动,不用写大量代码即可完成业务应用开发。
4.4 创建工作流
ToolJet 流程编排画布,以Start作为流程触发入口,连线串联 tooljetdb 数据库节点;右下角弹出节点选择菜单,可添加 REST 接口、JS 脚本、数据库操作、条件判断、循环、返回响应等多种逻辑节点,通过连线拖拽可视化编排自动化业务流程,无需编写大量代码,即可完成接口调用、数据读写、分支判断等完整自动化逻辑,右上角支持启用流程与直接运行调试。
4.5 创建表
ToolJetDB 新建数据表界面,数据表名称设置为shan。 表结构定义两列:
- id:字段类型为
serial自增整数,勾选 Primary 主键,默认值 Auto‑generated,未开启 NOT NULL; - name:字段类型
varchar文本字符串,开启 NOT NULL 非空约束,不设置主键,默认值输入框为空。
下方外键关联区域暂无关联关系,右下角Create 创建按钮已经激活为蓝色,参数校验通过,可直接点击完成数据表创建。
本地跑起来ToolJet只能内网用,搭配cpolar内网穿透,不用公网IP,一键生成公网网址,随时随地外网访问ToolJet,调试Webhook、远程演示低代码应用,本地项目直接对外可用,简单高效。
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.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账户密码登录即可,登录后即可对隧道进行管理。
6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:tooljet,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8083
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
访问成功。
7.保留固定公网地址
使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是tooljet,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
总结
很多开发人员经常要重复编写各类后台业务系统,大量时间耗费在表单、查询、数据管理这些通用功能上,重复造轮子效率低下。ToolJet作为开源低代码平台,提供丰富的可视化拖拽组件,可对接数据库、API等多种数据源,不用手写大量前后端代码,快速搭建业务后台、数据看板、自动化工作流,几分钟就能完成内部业务工具开发,支持私有化本地部署。
本地部署完成后,借助cpolar内网穿透,无需公网IP,不用配置路由器,即可生成公网访问地址,实现外网远程访问ToolJet应用,方便团队协同调试、项目演示,大幅降低部署与对外访问成本,让开发者把精力集中处理业务逻辑,摆脱基础后台的重复开发工作。
感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站









































