当前位置: 首页 > news >正文

从本地到云端:通过ToolJet和cpolar构建远程开发环境实践过程

文章目录

    • 前言
    • 1.关于 ToolJet
    • 2.Docker 部署
    • 3.简单使用演示
    • 4.安装 cpolar 内网穿透
    • 5. 配置公网地址
    • 6. 配置固定公网地址

前言

当涉足不熟悉的编程领域时,开发者是否总被技术迷宫般的挑战所困扰?从环境搭建时遭遇的系统冲突,到代码编写过程中漫长的调试循环,再到程序漏洞引发的反复修正——这些常见难题往往让技术人员陷入焦虑漩涡。在此向您隆重介绍一款创新工具:智能低代码开发平台 ToolJet。这款专为编程入门者设计的技术赋能产品,不仅能有效突破技术应用瓶颈,更能显著优化项目推进效率。让我们共同探索这个革新性开发方案的实践价值,携手开启属于每个人的数字化创造新篇章!

img

1.关于 ToolJet

ToolJet 是一个开源的低代码开发平台,它集成了多种强大的功能,可以帮助开发者快速构建和部署企业内部应用。无论你是前端小白还是后端大佬,甚至是完全不懂编程的人,都能通过简单的拖拽操作,创建出专业级的应用界面。ToolJet 的特点包括:

  1. 丰富的组件库:内置 35+响应式小部件,从表格到图表应有尽有。

  2. 多数据源支持:连接 20+种数据源,轻松集成数据库、API 等资源。

  3. 自托管选项:支持 Docker 和 Kubernetes 部署,灵活应对各种环境需求。

  4. 团队协作功能:实时评论与交流,提高项目开发效率。

  5. 插件扩展性:用 JavaScript 构建连接器,React 开发组件,让应用无限可能。

    7e1e03d9ee8f5a92d910886baf4ea5a

为什么选择 ToolJet?

  • 快速上手:无需编写复杂代码,拖拽组件即可完成应用构建。
  • 节省时间:减少编码时间,加快项目交付速度。
  • 降低门槛:即使是非技术背景的用户也能轻松使用。

2.Docker 部署

本例使用 Ubuntu 22.04 进行演示,使用 Docker 进行部署,如果没有安装 Docker,可以查看这篇教程进行安装:《Docker 安装教程——Linux、Windows、MacOS》

安装好 docker 后,输入下方命令拉取镜像

sudo docker pull tooljet/try

image-20250205115506850

接着输入这行命令启动服务

sudo docker run \--name tooljet \--restart unless-stopped \-p 80:80 \-v tooljet_data:/var/lib/postgresql/13/main \tooljet/try:latest

image-20250205134753342

3.简单使用演示

打开浏览器,访问 localhost:80 即可进入 ToolJet 的界面

image-20250205134815518

点击 set up 进入设置,设置属于你自己管理员账户。

image-20250205135134297

这里简单自由填写后一路下一步即可。

image-20250205135218020

image-20250205135233827

设置结束后界面会有使用步骤教程,跟着学习即可。

image-20250205135345261

4.安装 cpolar 内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的 ToolJet,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用 cpolar 内网穿透工具来实现远程访问的需求。无需公网 IP,也不用准备云服务器那么麻烦。

下面是安装 cpolar 步骤:

Cpolar 官网地址: https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看 cpolar 服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar 安装和成功启动服务后,在浏览器上输入 ubuntu 主机 IP 加 9200 端口即:【http://localhost:9200】访问 Cpolar 管理界面,使用 Cpolar 官网注册的账号登录,登录后即可看到 cpolar web 配置界面,接下来在 web 界面配置即可:

image-20240801133735424

5. 配置公网地址

登录 cpolar web UI 管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:ToolJet,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:80
  • 域名类型:随机域名
  • 地区:选择 China Top

点击创建:

image-20250205140049109

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250205140146951

现在就已经成功实现使用 cpolar 生成的公网地址异地远程访问本地部署的 ToolJet 啦!

小结

为了方便演示,我们在上边的操作过程中使用 cpolar 生成的 HTTP 公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在 24 小时内会发生随机变化,更适合于临时使用。

如果有长期使用 ToolJet,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

使用 cpolar 为其配置二级子域名,该地址为固定地址,不会随机变化。点击左侧的预留,选择保留二级子域名,地区选择 china top,然后设置一个二级子域名名称,我这里演示使用的是 toolJet,大家可以自定义。填写备注信息,点击保留。

e20b4aa1926b1a01a69e1dd18cec68f

保留成功后复制保留的二级子域名地址:

image-20250205140545085

登录 cpolar web UI 管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道toolJet,点击右侧的编辑

image-20250205140622738

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

b0037141c0b6cf6afe30354c9c8c679

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20250205140733013

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的 ToolJet 页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250205141104866

了解更多项目详情大家可以访问作者 github 主页进行查看:ToolJet/ToolJet:用于构建业务应用程序的低代码平台。连接到数据库、云存储、GraphQL、API 端点、Airtable、Google 表格、OpenAI 等,并使用拖放式应用程序构建器构建应用程序。使用 JavaScript/TypeScript 构建。🚀

通过本次实操演练,我们完整掌握了在 Ubuntu 系统环境下借助 Docker 容器化技术部署开源协作工具 ToolJet 的全流程方法论。更关键的是突破了网络环境限制——通过 cpolar 内网穿透服务将动态分配的局域网 IP 映射为可持久访问的二级域名公网地址,这一创新架构显著优化了远程开发场景的工作效能。

对于独立开发者而言,该技术组合能有效支撑创意原型的云端验证;在企业级应用场景中,则助力分布式团队跨越物理边界限制,实现代码版本与协作界面的跨地域实时同步。当前方案已成功打通从本地环境搭建到公网服务部署的技术通道,为低代码开发模式的工程化应用奠定了坚实基础。

针对实施过程中可能出现的容器端口映射异常、域名解析延迟等技术问题,或对多节点分布式架构设计的优化建议,我们期待您在评论区贡献专业见解。让我们共同探索智能化开发工具的更多可能性,在数字化转型浪潮中拓展协同创新的新维度!

相关文章:

  • 操作系统 第九章 部分
  • 详解HarmonyOS NEXT仓颉开发语言中的全局弹窗
  • 2024计算机保研--哈工大、中山、国防科大(二)
  • 前端高频面试题汇总
  • 【入门级-基础知识与编程环境:3、计算机网络与Internet的基本概念】
  • Flask框架index.html里引用的本地的js和css或者图片
  • RK3576 Yolo 部署
  • PyTorch实战(12)——StyleGAN详解与实现
  • 七八章习题测试
  • 从传统Cube到现代化指标体系:物化视图驱动的指标平台升级之路
  • 词编码模型怎么进行训练的,输出输入是什么,标签是什么
  • 计算机网络:(六)超详细讲解数据链路层 (附带图谱表格更好对比理解)
  • 3D模式格式转换工具HOOPS Exchange如何将3D PDF转换为STEP格式?
  • Java面试题027:一文深入了解数据库Redis(3)
  • 新手学习阿里云AI本地大模型搭建
  • 利用mold加快rust程序构建
  • 苹果芯片macOS安装版Homebrew(亲测)
  • mac隐藏文件现身快捷键
  • 全局配置Axios后的api使用指南
  • Spring MVC极简入门:从@Request到Postman的全链路开发
  • 前端后端都是网站开发吧/全网络品牌推广
  • 中国企业500强榜单山东/网站建设优化收费
  • 学做网站怎么样/搜索引擎的关键词优化
  • 哈尔滨教育学会网站建设/阳江网站建设
  • 台前网站建设/google海外版
  • 网上商店的业务流程/优化设计高中