Appsmith 内部工具快速搭建教程

Appsmith 是一款开源的低代码内部工具搭建平台,开发者可以通过拖拽式界面快速构建管理后台、数据看板、CRUD 应用等内部工具。它支持连接多种数据源,内置丰富的 UI 组件,并提供 JavaScript 编写业务逻辑的能力。本教程将在搬瓦工 VPS 上通过 Docker 完成 Appsmith 的部署。

一、Appsmith 功能特色

  • 拖拽式 UI 构建:提供 45+ 种预建组件(表格、图表、表单、按钮等),通过拖拽即可快速搭建界面。
  • 多数据源连接:支持 PostgreSQL、MySQL、MongoDB、REST API、GraphQL、Google Sheets 等 15+ 种数据源。
  • JavaScript 逻辑:在任何组件属性中编写 JavaScript 表达式,实现复杂的业务逻辑和数据转换。
  • Git 版本控制:应用配置支持与 Git 仓库同步,实现版本管理和团队协作。
  • 访问控制:支持基于角色的权限管理,控制用户对应用和数据的访问权限。
  • 自定义主题:支持自定义品牌配色和样式,打造统一的企业内部工具风格。

二、环境准备

  • 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
  • 内存:至少 2GB RAM,推荐 4GB(Appsmith 包含多个服务组件)。
  • 磁盘:至少 20GB 可用空间。
  • Docker:已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。

购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 折扣。

三、Docker 部署 Appsmith

3.1 创建项目目录

mkdir -p /opt/appsmith && cd /opt/appsmith

3.2 创建 Docker Compose 文件

cat > docker-compose.yml <<'EOF'
version: '3.8'

services:
  appsmith:
    image: appsmith/appsmith-ee:latest
    container_name: appsmith
    restart: always
    ports:
      - "8080:80"
      - "8443:443"
    environment:
      APPSMITH_ENCRYPTION_PASSWORD: "your_encryption_password"
      APPSMITH_ENCRYPTION_SALT: "your_encryption_salt"
      APPSMITH_MONGODB_URI: "mongodb://mongo:27017/appsmith"
      APPSMITH_REDIS_URL: "redis://redis:6379"
    volumes:
      - appsmith_data:/appsmith-stacks
    depends_on:
      - mongo
      - redis

  mongo:
    image: mongo:6.0
    container_name: appsmith-mongo
    restart: always
    volumes:
      - mongo_data:/data/db
    command: mongod --storageEngine wiredTiger

  redis:
    image: redis:7-alpine
    container_name: appsmith-redis
    restart: always
    volumes:
      - redis_data:/data

volumes:
  appsmith_data:
  mongo_data:
  redis_data:
EOF

修改 APPSMITH_ENCRYPTION_PASSWORDAPPSMITH_ENCRYPTION_SALT 为随机字符串:

echo "Password: $(openssl rand -base64 24)"
echo "Salt: $(openssl rand -base64 24)"

3.3 启动 Appsmith

docker compose up -d

Appsmith 首次启动需要下载和初始化多个组件,耗时约 2-5 分钟:

docker compose logs -f appsmith

看到启动成功的提示后,打开浏览器访问 http://你的服务器IP:8080,按照向导创建管理员账户。

四、Nginx 反向代理

apt update && apt install nginx -y

cat > /etc/nginx/sites-available/appsmith <<'EOF'
server {
    listen 80;
    server_name appsmith.example.com;

    client_max_body_size 150m;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }
}
EOF

ln -s /etc/nginx/sites-available/appsmith /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

apt install certbot python3-certbot-nginx -y
certbot --nginx -d appsmith.example.com

五、创建第一个应用

5.1 连接数据源

登录 Appsmith 后,进入工作区创建新应用。在左侧面板选择"Datasources",点击"New Datasource"添加数据源。以 PostgreSQL 为例,填入数据库主机、端口、用户名、密码和数据库名称,点击"Test"验证连接后保存。

5.2 构建查询

连接数据源后,创建查询来获取数据。Appsmith 支持直接编写 SQL 查询,也支持可视化查询构建器。查询结果可以直接绑定到 UI 组件上:

-- 示例:查询用户列表
SELECT id, name, email, created_at
FROM users
WHERE status = 'active'
ORDER BY created_at DESC
LIMIT {{Table1.pageSize}}
OFFSET {{Table1.pageOffset}}

双花括号内是 JavaScript 表达式,可以动态引用组件的属性值。

5.3 搭建界面

从右侧组件库拖拽 Table 组件到画布上,在属性面板将"Table Data"绑定为查询的返回值 {{Query1.data}}。添加按钮组件实现新增、编辑和删除操作,通过 onClick 事件绑定对应的增删改查询。

5.4 发布应用

开发完成后,点击右上角"Deploy"按钮发布应用。发布后的应用可以通过独立 URL 访问,你可以邀请团队成员并分配不同的访问角色。

六、邮件通知配置

如果需要邮件功能(密码重置、邀请用户等),需要配置 SMTP。在 Compose 文件的 environment 部分添加:

APPSMITH_MAIL_ENABLED: "true"
APPSMITH_MAIL_HOST: "smtp.example.com"
APPSMITH_MAIL_PORT: "587"
APPSMITH_MAIL_USERNAME: "your-email@example.com"
APPSMITH_MAIL_PASSWORD: "your-email-password"
APPSMITH_MAIL_FROM: "your-email@example.com"

修改后重启服务:

docker compose down && docker compose up -d

七、数据备份

# 备份 MongoDB 数据
docker exec appsmith-mongo mongodump --db appsmith --out /tmp/backup
docker cp appsmith-mongo:/tmp/backup /opt/appsmith/mongo_backup_$(date +%Y%m%d)

# 备份 Appsmith 应用数据
docker cp appsmith:/appsmith-stacks /opt/appsmith/stacks_backup_$(date +%Y%m%d)

# 恢复 MongoDB 数据
docker cp mongo_backup appsmith-mongo:/tmp/backup
docker exec appsmith-mongo mongorestore --db appsmith /tmp/backup/appsmith

八、升级与维护

cd /opt/appsmith
docker compose pull
docker compose down
docker compose up -d

升级前请务必完成数据备份。查看更新日志了解版本变化和可能的数据库迁移事项。

总结

Appsmith 是快速搭建内部工具的利器,通过可视化界面和 JavaScript 编程的结合,大幅降低了内部工具的开发成本。部署在搬瓦工 VPS 上既保障了数据安全,又提供了灵活的定制空间。同类型的低代码工具还有 ToolJetBudibase,可以根据需求选择。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。