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_PASSWORD 和 APPSMITH_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 上既保障了数据安全,又提供了灵活的定制空间。同类型的低代码工具还有 ToolJet 和 Budibase,可以根据需求选择。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受折扣。