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 容器的名称为 appsmith
        ports:
          - "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端口,可以快乐玩耍了。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】string类(2)

🥳个人主页: 起名字真南 🥳个人专栏:【数据结构初阶】 【C语言】 【C】 目录 引言1 模拟实现string类基本框架2 实现string类中的主要成员函数2.1 Push_Back 函数2.2 reserve 函数2.3 append 函数2.4 c_str 函数2.5 begin ,end 函数2.5 operator 函数2.6…

IDEA开发工具使用技巧积累

一、IDEA 工具设置默认使用maven的settings.xml文件 第一步:打开idea工具,选中 File ——> New Projects Setup ——> Settings for New Projects 第二步:先设置下自动构建项目这个选项 第三步:选中 Build Tools ——>…

word删除空白页 | 亲测有效

想要删掉word里面的末尾空白页,但是按了delete之后也没有用 找了很久找到了以下亲测有效的方法 1. 通过鼠标右键在要删除的空白页面处显示段落标记 2. 在字号输入01,按ENTER(回车键) 3.成功删除了!! PS…

Selenium爬虫技术:如何模拟鼠标悬停抓取动态内容

介绍 在当今数据驱动的世界中,抓取动态网页内容变得越来越重要,尤其是像抖音这样的社交平台,动态加载的评论等内容需要通过特定的方式来获取。传统的静态爬虫方法难以处理这些由JavaScript生成的动态内容,Selenium爬虫技术则是一…

基于SSM大学校医院信息管理系统的设计

管理员账户功能包括:系统首页,个人中心,校医管理,用户管理,在线问诊管理,线上挂号管理,病例记录管理,系统管理 校医账号功能包括:系统首页,个人中心&#xf…

用Java爬虫API,轻松获取taobao商品SKU信息

在电子商务的世界里,SKU(Stock Keeping Unit,库存单位)是商品管理的基础。对于商家来说,SKU的详细信息对于库存管理、价格策略制定、市场分析等都有着重要作用。taobao作为中国最大的电子商务平台之一,提供…

uniapp 微信小程序分包操作

1. 在项目根目录创建一个新的目录,名称为分包名称 2. 打开manifest.json,选择源码视图,加入以下代码 "optimization" : {"subPackages" : true } 3. 在pages.json中,pages后面添加分包代码 "subPackag…

Linux基础命令(入门)

linux 用户 root 用户 一个特殊的管理帐户 也被称为超级用户 root已接近完整的系统控制 对系统损害几乎有无限的能力 除非必要,不要登录为 root 普通( 非特权 ) 用户权限有限 造成损害的能力比较有限 linux的哲学思想(优点&#xf…

【Canvas与图标】制作电脑桌面图标

【成图】 制成的三种图标&#xff0c;都是120*120的。 制作时观察的大图 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>desk…

操作系统学习笔记2.1进程与线程

文章目录 概念 组成 特征状态与转换进程控制1. 进程的状态2. 进程控制块&#xff08;PCB&#xff09;3. 进程的创建与终止进程的创建进程的终止 4. 进程调度5. 进程间通信&#xff08;IPC&#xff09;6. 上下文切换 进程通信1. **管道&#xff08;Pipes&#xff09;**2. **信号…

C++ | Leetcode C++题解之第502题IPO

题目&#xff1a; 题解&#xff1a; typedef pair<int,int> pii;class Solution { public:int findMaximizedCapital(int k, int w, vector<int>& profits, vector<int>& capital) {int n profits.size();int curr 0;priority_queue<int, vect…

Prometheus 告警

github alertmanager 文档 Prometheus Alerting rules Prometheus alerting configuration 前几篇文章讲了Prometheus的监控&#xff0c;这一篇文章&#xff0c;讲通过监控指标触发告警 常用的告警方式有发邮件、调用指定接口(webhook) 等。本文讲解webhook方式&#xff0c;完…

ARL 灯塔 | ARL 灯塔 — 字典替换

关注这个工具的其它相关内容&#xff1a;自动化信息收集工具 —— ARL 灯塔使用手册 - CSDN 博客 0x01&#xff1a;ARL 字典替换 —— 理论篇 ARL&#xff08;Asset Reconnaissance Lighthouse&#xff09;在进行目标域名探测时&#xff0c;依赖的是其内置的默认字典集。然而在…

从零开始:Python与Jupyter Notebook中的数据可视化之旅

目录 **理解数据与数据可视化的基本流程****了解Python与其他可视化工具****掌握Anaconda、Jupyter Notebook的常用操作方法****原理** 环境配置1. **安装Anaconda软件&#xff0c;创建实验环境**2. **安装Jupyter Notebook**3. **创建第一个Jupyter Notebook文本**&#xff08…

nnUnet 大模型学习笔记(续):训练网络(3d_fullres)以及数据集标签的处理

目录 1. 数据集处理 1.1 实现脚本 1.2 json文件 2. 设置读取路径 2.1 设置路径 2.2 数据集转换 2.3 数据集预处理 2.4 训练&#xff08;3d_fullres) 3. 训练结果展示 关于nnUnet 数据集的处理和环境搭建&#xff0c;参考上文&#xff1a;第四章&#xff1a;nnUnet大模…

94、Python之异常:自定义异常以满足业务个性化需求

引言 前面介绍了Python中内置的异常类的继承体系&#xff0c;通常来说&#xff0c;这些异常类已经能够满足各种异常的场景需要。但是&#xff0c;有时还是需要自定义异常&#xff0c;来满足一些个性化的需求&#xff0c;以及更加可控、精细化的异常管理。 本文就来介绍一下如…

使用InternVL、LMDeploy和GTE搭建多模态RAG系统

如何将视觉大模型&#xff08;VLM&#xff09;与 多模态RAG 结合起来&#xff0c;创建服装搜索和搭配推荐&#xff01;本文展示了InternVL模型在分析服装图像和提取颜色、款式和类型等关键特征方面的强大功能。 InternVL2是国内首个在MMMU(多学科问答)上突破60的模型&#xff0…

MT-Pref数据集:包含18种语言的18k实例,涵盖多个领域。实验表明它能有效提升Tower模型在WMT23和FLORES基准测试中的翻译质量。

2024-10-10&#xff0c;由电信研究所、里斯本大学等联合创建MT-Pref数据集&#xff0c;它包含18种语言方向的18k实例&#xff0c;覆盖了2022年后的多个领域文本。通过在WMT23和FLORES基准测试上的实验&#xff0c;我们展示了使用MT-Pref数据集对Tower模型进行对齐可以显著提高翻…

【云从】十、常见安全问题与云计算的计费模式

文章目录 1、常见安全问题1.1 DDoS攻击1.2 病毒攻击1.3 木马攻击1.4 代码自身漏洞 2、安全体系3、云计算的计费模式4、常见云产品的计费方案5、云产品计费案例 1、常见安全问题 1.1 DDoS攻击 通过分布在各地的大量终端&#xff0c;同时向目标发送恶意报包&#xff0c;以占满目…

【C++贪心】1536. 排布二进制网格的最少交换次数|1880

本文涉及知识点 C贪心 决策包容性 LeetCode1536. 排布二进制网格的最少交换次数 给你一个 n x n 的二进制网格 grid&#xff0c;每一次操作中&#xff0c;你可以选择网格的 相邻两行 进行交换。 一个符合要求的网格需要满足主对角线以上的格子全部都是 0 。 请你返回使网格满…