Ubuntu(22.04)本地部署Appsmith

Ubuntu(22.04)安装Appsmith

简要介绍

Appsmith 是一个开源的低代码开发平台,旨在帮助开发者和非开发者快速构建定制化的内部应用程序和管理工具。通过直观的拖拽界面和丰富的预配置组件,Appsmith 让用户无需编写大量代码即可创建功能强大的数据驱动型应用。

主要特点:

  1. 拖放式设计:Appsmith 提供了丰富的 UI 组件(如表单、按钮、图表等),用户可以通过简单的拖拽操作快速构建应用界面。
  2. 数据集成:支持与各种数据库、REST APIs、GraphQL、第三方服务(如 AWS、Google Sheets、Slack 等)集成,方便将不同数据源汇聚到一个应用中。
  3. 自定义逻辑:虽然是低代码平台,Appsmith 允许用户使用 JavaScript 自定义逻辑、处理业务需求,保持了极高的灵活性。
  4. 权限和安全:Appsmith 支持用户角色管理、权限控制等安全特性,确保内部工具的安全性。
  5. 开源和可扩展:作为开源项目,用户可以自行部署,适应不同的企业需求,同时还能自定义组件或集成到现有系统中。

典型用例:

  • 内部仪表板
  • 数据管理系统
  • 工单跟踪工具
  • CRM 系统
  • 项目管理工具

部署模式:

Appsmith 可以通过 Docker、Kubernetes、AWS 等进行本地或云端部署,支持自定义配置并能根据企业需求扩展。

总的来说,Appsmith 通过降低开发复杂度,加快了内部应用的开发和迭代,是很多公司快速构建业务工具的首选平台。

部署环境

  • docker v27.3.1
  • docker-compose v2.20.0
  • Appsmith v1.6.5

部署 Appsmith

以下linux命令中是否带sudo取决于使用当前用户的权限,请自行决定是否需要添加

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

    sudo mkdir -p ~/appsmith
    cd ~/appsmith
    
  2. 下载 Appsmith 的 Docker Compose 文件: 可以直接从 Appsmith 的 GitHub 仓库中获取官方的 docker-compose.yml 文件:

    wget https://github.com/appsmithorg/appsmith/blob/release/deploy/docker/docker-compose.yml
    

    这是github仓库里文件的内容

    在这里插入图片描述

  3. 编辑配置文件(可选): 如果你需要自定义配置,比如修改端口映射或者其他环境变量,可以编辑 docker-compose.yml 文件。

    创建该文件

    # 当docker-compose.yml存在时,nano会打开它,如果不存在,会在你退出保存时,创建该文件
    nano docker-compose.yml
    

    然后将下面的内容,粘贴到文件内,然后使用快捷键 Ctrl+O 保存修改,此时会问你是否将内容写入文件,直接回车即可,然后按 Ctrl+x退出

    version: "3" # 表示使用 Docker Compose 文件格式的版本。版本 3 是目前广泛使用的版本services: # 表示该 Compose 文件定义了一些需要启动的服务appsmith: # appsmith 服务定义image: index.docker.io/appsmith/appsmith-ce:release # 指定 Docker 镜像的来源。index.docker.io/appsmith/appsmith-ee 表示使用 Appsmith 社区版的release镜像container_name: appsmith # 指定 Docker 容器的名称为 appsmithports:- "8080:80" # 将主机的 8080 端口映射到容器的 80 端口environment:APPSMITH_ENCRYPTION_PASSWORD: abcd # 定义了 Appsmith 应用中使用的加密密码。Appsmith 需要对敏感数据进行加密,比如存储在数据库中的 API 密钥、OAuth 凭据等,这个密码用于加密这些敏感信息APPSMITH_ENCRYPTION_SALT: abcd # 定义了用于加密操作的盐值。加密的盐值用于增强加密的安全性,防止类似数据生成相同的加密结果。与加密密码配合使用,可以进一步提高数据加密的强度。volumes: # 定义了主机和容器之间共享数据的路径- ./stacks:/appsmith-stacks # 将主机当前目录下的 stacks 文件夹映射到容器中的 /appsmith-stacks 目录。restart: unless-stopped # 定义容器的重启策略。unless-stopped 表示除非手动停止容器,否则如果容器意外停止,Docker 会自动重启它
    
  4. 启动 Appsmith:docker-compose.yml 所在的目录中,运行以下命令来启动 Appsmith:

    docker-compose up -d
    

    该命令会下载并启动所有所需的容器,包括 Appsmith、MongoDB 和 Redis 等。

    注意:该指令会去docker仓库拉去镜像,如果是国内的服务器或者环境,很可能会失败,所以需要配置下镜像源。阿里官方文档
    在这里插入图片描述

    更换镜像源的过程太具体的不写了,搜索下一堆。

  5. 访问 Appsmith: 一旦容器启动成功,你可以通过浏览器访问 Appsmith。如果你的服务器的 IP 地址是 192.168.0.100,那么你可以通过以下链接访问:

    http://192.168.0.100:8080
    
  6. 检查运行状态: 你可以通过以下命令查看容器的状态:

    docker-compose ps
    
  7. 日志查看(可选): 如果你遇到任何问题,可以查看日志:

    docker-compose logs -f
    

后续操作

docker-compose指令都需要切换到有docker-compose.yml 文件的目录下才能使用

  • 停止服务:

    docker-compose down
    
  • **重启服务 **

    docker-compose up -d
    
  • 更新 Appsmith: 如果想更新到最新版本,可以停止服务后拉取最新的 Docker 镜像并重启:

    docker-compose pull
    docker-compose up -d
    

我映射到了8991端口,可以快乐玩耍了。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Postman使用-基础篇

前言 本教程将结合业界广为推崇和使用的RestAPI设计典范Github API,详细介绍Postman接口测试工具的使用方法和实战技巧。 在开始这个教程之前,先聊一下为什么接口测试在现软件行业如此重要? 为什么我们要学习Postman? 现代软件…

数据轻松上云——Mbox边缘计算网关

随着工业4.0时代的到来,工厂数字化转型已成为提升生产效率、优化资源配置、增强企业竞争力的关键。我们凭借其先进的边缘计算网关与云平台技术,为工厂提供了高效、稳定的数据采集与上云解决方案。本文将为您介绍Mbox边缘计算网关如何配合明达云平台&…

基于SpringBoot微信小程序的书院预约系统【附源码】

基于SpringBoot微信小程序的书院预约系统 效果如下: 微信小程序首页界面 用户登录界面 书院信息界面 会议室界面 管理员登录界面 管理员主界面 用户界面 书院信息界面 会议室界面 会议室预约界面 研究背景 随着社会的快速发展,计算机技术的影响是全面…

SpringBoot 单元测试 - 登录认证在 Spring Boot 上的标准单元测试写法。

👉 请投票支持这款 全新设计的脚手架 ,让 Java 再次伟大! 不要使用 SpringBootTest 使用 SpringBootTest 进行单元测试会启动整个 Spring Boot 容器,并引入整个项目的 development&test 依赖。缺点是速度慢、体积大、测试目标…

HarmonyOS Next应用开发——图像PixelMap变换

【高心星出品】 图像变换 图片处理指对PixelMap进行相关的操作,如获取图片信息、裁剪、缩放、偏移、旋转、翻转、设置透明度、读写像素数据等。图片处理主要包括图像变换、位图操作,本文介绍图像变换。 图形裁剪 // 裁剪图片 x,y为裁剪的起…

【element-tiptap】如何把分隔线改造成下拉框的形式?

当前的分隔线只有细横线这一种形式 但是咱们可以看一下wps中的分隔线,花里胡哨的 这些在wps里都需要使用快捷键打出来,真没找到菜单在哪里 那么这篇文章咱们就来看一下如何改造分隔线组件,改造成下拉框的形式,并且把咱们想要的分…

如何调试浏览器中的内存泄漏?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介⭐ 如何调试浏览器中的内存泄漏?1. 什么是内存泄漏?2. 调试内存泄漏的工具3. 如何使用 Memory 面板进行内存调试3.1 获取内存快照(Heap Snapshot)获取内存快照的步骤:快照…

【二刷hot100】day 4

终于有时间刷刷力扣,求实习中。。。。 目录 1.最大子数组和 2.合并区间 3.轮转数组 4.除自身以外数组的乘积 1.最大子数组和 class Solution {public int maxSubArray(int[] nums) {//就是说可以转换为计算左边的最大值,加上中间的值&#xff0c…

1.6,unity动画Animator屏蔽某个部位,动画组合

动画组合 一边跑一边攻击 using System.Collections; using System.Collections.Generic; using UnityEngine;public class One : MonoBehaviour {private Animator anim;// Start is called before the first frame updatevoid Start(){anim GetComponent<Animator>();…

PPT自动化:Python如何修改PPT文字和样式!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 使用 Python 修改 PPT 文本内容📝 遍历所有幻灯片和文本框📝 设置和修改文本样式📝 复制和保留文本样式⚓️ 相关链接 ⚓️📖 介绍 📖 在日常工作中,PPT 的文字内容和样式修改似乎是一项永无止境的…

渗透测试实战—教育攻防演练中突破网络隔离

免责声明&#xff1a;文章来源于真实渗透测试&#xff0c;已获得授权&#xff0c;且关键信息已经打码处理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本…

基准线markLine的值超过坐标轴范围导致markline不显示

解决问题&#xff1a;动态设置yAxis的max值&#xff08;解决基准线不在y轴范围&#xff09; yAxis: [{name: 单位&#xff1a;千,...yAxis,nameTextStyle:{...yAxis.nameTextStyle,padding: [0,26,0,24]},paddingLeft:24,paddingRight:26},{name: 单位&#xff1a;百分比,...yA…

基金好书入门阅读笔记《基金作战笔记:从投基新手到配置高手的进阶之路》笔记3

公募基金的分类方式按投资范围分 80%以上资产投资于股票的&#xff0c;叫股票基金&#xff1b;80%以上资产投资于债券的&#xff0c;叫债券基金&#xff1b;80% 以上资产投资于其他基金的&#xff0c;叫FOF; 80%以上资产投资于货币市场的&#xff0c;叫货币基金&#xff1b;以上…

建库建表练习

目录 根据以下需求完成图书管理系统数据库及表设计&#xff0c;并建库建表&#xff0c;并截图创建表的详细信息(desc 表名),不用添加数据 1. 用户表: 字段: 姓名&#xff0c;用户名&#xff0c;密码&#xff0c;电话&#xff0c;住址&#xff0c;专业及年级 2. 图书表: 字段: 图…

大数据新视界 -- 大数据大厂之 AI 驱动的大数据分析:智能决策的新引擎

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

Flux.all 使用说明书

all public final Mono<Boolean> all(Predicate<? super T> predicate)Emit a single boolean true if all values of this sequence match the Predicate. 如果该序列中的所有值都匹配给定的谓词&#xff08;Predicate&#xff09;&#xff0c;则发出一个布尔值…

大模型之三十二-语音合成TTS(coqui) 之二 fine-tune

在 大模型之三十-语音合成TTS(coqui)[shichaog CSDN]中提到了xttsv2的fine-tune。 数据情况&#xff1a; 我是从bilibili up主小Lin说提取了一些视频&#xff0c;然后进行了重新的fine-tune。 训练结果 如下图所示&#xff0c;上面波形幅度较大的是xttsv2原始模型的结果&am…

tauri打包失败Error failed to bundle project: error running light.exe解决办法

Running light to produce D:\a\PakePlus\PakePlus\src-tauri\target\release\bundle\msi\快手_0.0.1_x64_en-US.msi Error failed to bundle project: error running light.exe ELIFECYCLE  Command failed with exit code 1. Error: Command failed with exit code 1: pnpm …

Python进阶--海龟绘图turtle库

目录 1. 画笔运动命令 2. 画笔控制命令 3. 设置画布大小 1. 画笔运动命令 2. 画笔控制命令 turtle.pensize()&#xff1a;设置画笔的宽度&#xff1b; turtle.pencolor(‘red’)&#xff1a;没有参数传入&#xff0c;返回当前画笔颜色&#xff0c;传入参数设置画笔颜色。 t…

Linux:线程及其控制

我们已经学了线程的创建&#xff0c;现在要学习线程的控制 线程等待 我们来先写一个没有线程等待的代码&#xff1a; pthcon.c: #include<stdio.h> #include<pthread.h> void* gopthread(void* arg){while(1){printf("pthread is running\n");sleep(1…