【本地Docker部署开源低代码开发神器Appsmith与远程访问在线使用】

【本地Docker部署开源低代码开发神器Appsmith与远程访问在线使用】
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

前言

公司需要快速开发一个内部工具,或者你心血来潮想给团队搞个小应用,结果发现开发周期长、成本高,还得找专业开发人员?感觉像是在做一道没有答案的数学题,不仅费时还费力。但今天,我要向你们介绍一款神器——Appsmith!这可是个能让不懂代码的小白也能轻松搭建出功能强大应用的超级英雄!

image-20250401140647756

1.什么是 Appsmith

Appsmith 是一个开源低代码开发平台,它就像一个神奇的画板,你只需要将各种组件(如表格、图表、表单等)像拼图一样拖到你的“画布”上,就能快速构建出复杂的应用程序。而且,它还支持多种数据源和 API 调用,让你的应用连接更自由,开发更快捷。

image-20250401140956023

Appsmith 的性能特色:

  1. 拖拽式开发:就像搭积木一样简单,你只需要把需要的组件拖到画布上,然后配置一下数据源,一个应用就诞生了!
  2. 多数据源支持:MySQL、PostgreSQL、MongoDB、REST API 等,Appsmith 都能轻松连接。
  3. 实时预览:开发过程中随时看到应用的实时效果,再也不用反复调试、刷新页面了。
  4. 强大的 JavaScript 支持:懂一点 JavaScript?那就更好了!Appsmith 允许你编写自定义逻辑,让你的应用更加灵活。
  5. 一键部署:开发完成后,你可以一键将应用部署到云端,或者导出代码进行二次开发。

2.Docker 部署

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

首先创建 Appsmith 目录: 需要在本地服务器上创建一个目录来存储 Appsmith 的配置和数据。可以是任意位置

mkdir -p ~/appsmith cd ~/appsmith 
image-20250331164816925

下载 Appsmith 的 Docker Compose 文件: 可以直接从 Appsmith 的 GitHub 仓库中获取官方的 docker-compose.yml 文件:

wget https://raw.githubusercontent.com/appsmithorg/appsmith/refs/heads/release/deploy/docker/docker-compose.yml 
image-20250331164858545

启动项目:

sudo docker compose up -d 
image-20250331165654373

打开浏览器输入 localhost:8080,就能进入到 appsmith 的主页了

image-20250331170651670

3.Appsmith 简单使用

安装完成后,打开 Appsmith,点击“Create New”按钮创建一个新的应用。

image-20250331170948352

然后,你可以在左侧的组件面板中选择需要的组件(如按钮、表单、表格等),拖放到中间的画布上进行布局。配置数据源,并将数据源绑定到组件上,使组件能够动态显示和操作数据。最后,点击右上角的“Deploy”按钮发布应用。

image-20250331171010706

4.安装 cpolar 内网穿透

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

下面是安装 cpolar 步骤:

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

使用一键脚本安装命令:

sudocurl 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 管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

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

点击创建:

image-20250401132908360

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

image-20250401132950818

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

小结

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

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

6. 配置固定公网地址

使用 cpolar 为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将 cpolar 套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn 已备案】

点击左侧的预留,选择保留二级子域名,地区选择 china top,然后设置一个二级子域名名称,我这里演示使用的是 appsmith,大家可以自定义。填写备注信息,点击保留。

image-20250401134041400

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

image-20250401134104967

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

image-20250401134135508

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

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

点击更新

image-20250401134203724

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

image-20250401134246967

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

image-20250401134407490

总结

通过这篇文章,你已经掌握了如何在 Ubuntu 上安装 Appsmith,并使用 cpolar 实现远程访问。希望这些工具和资源能为你带来更多的便利和灵感。无论你是初学者还是有经验的开发者,都能在这个过程中找到乐趣和成就感。

以上就是如何在本地 Ubuntu 系统使用 Docker 快速部署开源低代码开发神器 Appsmith,并安装 cpolar 内网穿透工具配置固定不变的二级子域名公网地址,实现随时随地远程访问的全过程,感谢您的观看,有任何问题欢迎留言交流。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Read more

AI会取代程序员吗?(Java转大模型必藏指南)

AI会取代程序员吗?(Java转大模型必藏指南)

“AI会不会抢了我的饭碗?” 这恐怕是当下每一位打工人,尤其是程序员群体,深夜复盘职业路径时绕不开的灵魂拷问。当AI工具能一键生成符合需求的代码、毫秒级定位隐藏Bug,甚至能参与中低复杂度的系统架构设计时,不少深耕Java领域数年、十几年的开发者都陷入了焦虑:耗时多年打磨的编程功底,难道真的敌不过几句精准提示词? 但行业真相远比焦虑更清醒:AI从不是程序员的“终结者”,而是筛选者——它不会淘汰程序员,只会加速淘汰拒绝拥抱AI、固守传统工作模式的程序员。 与其在担忧中内耗,不如主动将AI打造成职业进阶的“超级外挂”。在AI时代,真正具备不可替代性的,是那些懂得驾驭大模型、用技术工具放大自身核心能力的开发者。更关键的是,大模型赛道早已成为技术圈的“薪资洼地”,相关岗位薪资持续走高,成为程序员实现职业跃迁的黄金风口。 对于Java程序员而言,向大模型开发转型,既是突破职业瓶颈的挑战,更是实现薪资翻倍、能力升级的绝佳契机。下面这份专为Java开发者定制的大模型转型指南,从方向、知识、实操到求职全维度拆解,小白也能快速上手,建议收藏慢慢啃! 一、明确转型方向,放大Java核心优势

By Ne0inhk
【JavaSE】【网络原理】初识网络

【JavaSE】【网络原理】初识网络

目录 * 一、网络互联 * 二、局域网与广域网 * 三、网络通信基础 * 3.1 IP地址 * 3.2 端口号 * 3.3 网络协议 * 3.4 五元组 * 四、协议分层 * 4.1 OSI七层网络模型 * 4.2 TCP/IP五层(四层)网络模型 * 4.3 网络设备 * 五、网络数据通信基本流程。 * 5.1 封装和分用 * 5.2 简述过程 一、网络互联 网络互联: 网络互联是指将两个以上的通信网络通过一定的方法,用一种或多种网络通信设备相互连接起来,以构成更大的网络系统。 网络互联的目的是以实现不同网络中的用户可以进行互相通信、共享软件和数据等。 数据共享:

By Ne0inhk
用飞算 JavaAI 开发高校设备管理系统!从需求到上线,毕业设计 3 天搞定

用飞算 JavaAI 开发高校设备管理系统!从需求到上线,毕业设计 3 天搞定

前言 在高校教学与科研活动中,大型实验设备是重要的资源支撑,但传统人工管理模式常面临设备信息不透明、预约流程繁琐、使用记录难追溯等问题。为解决这一痛点,我以“高校大型实验设备管理与预约信息系统”作为毕业设计主题,借助飞算JavaAI工具完成系统开发。本文将详细记录从需求分析到代码生成、优化调试的全过程,分享飞算JavaAI在实际开发中的应用体验。 一、需求分析与规划 1. 功能需求 高校大型实验设备管理与预约信息系统需满足三类用户(管理员、教师、学生)的核心需求,具体拆解如下: * 管理员端:设备信息管理(新增、编辑、删除设备型号、规格、存放位置、故障状态等)、用户管理(新增教师/学生账号、分配权限)、预约审核(审核教师/学生的设备预约申请)、使用统计(按设备类型、时间段统计使用频次、预约成功率); * 教师端:设备查询(按设备名称、类型、可用状态筛选)、预约申请(选择设备、

By Ne0inhk
告别 IDEA,拥抱 Trae:一位 Java 后端程序员的真实迁移体验

告别 IDEA,拥抱 Trae:一位 Java 后端程序员的真实迁移体验

作为一名常年和 Spring Boot、微服务打交道的 Java 开发者,IDEA 几乎是我过去几年的 “本命 IDE”。但最近,我彻底把主力开发环境换成了Trae。这不是跟风尝鲜,而是真实体验到效率、流畅度与 AI 能力的全面升级。 这篇文章,我用最实在的体验,告诉你Java 程序员从 IDEA 迁移到 Trae 到底值不值、怎么迁、踩过哪些坑、带来哪些爽点。 一、为什么我会从 IDEA 转向 Trae? 先说说我放弃 IDEA 的核心原因: 1. 启动慢、吃内存:项目稍大就卡,开机启动要等半天 2. 插件臃肿:很多功能用不上,却占资源 3. AI 能力弱:自带补全跟不上时代,装插件又不稳定

By Ne0inhk