Budibase 业务应用搭建教程
Budibase 是一款开源的低代码平台,专为快速构建业务应用而设计。它提供内置数据库、可视化界面设计器、自动化引擎和用户管理功能,让团队在几分钟内就能搭建出表单、审批流程、客户管理等业务应用,无需编写大量代码。本教程将指导你在搬瓦工 VPS 上通过 Docker 部署 Budibase。
一、Budibase 核心特性
- 内置数据库:BudibaseDB 提供无代码数据表管理,支持关系、公式和附件字段,也可连接外部 PostgreSQL、MySQL、MongoDB 等数据库。
- 可视化界面设计:拖拽式组件库,自动生成 CRUD 界面,支持响应式布局和主题定制。
- 自动化引擎:基于触发器和动作的自动化流程,支持条件判断、循环、Webhook 和外部 API 调用。
- 用户与权限:内置用户管理系统,支持角色(Admin、Power、Basic)和细粒度的数据行级权限。
- API 自动生成:每个应用自动生成 REST API,便于与第三方系统集成。
- 插件扩展:支持自定义组件和数据源插件,满足特殊业务需求。
二、环境准备
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 2GB RAM,推荐 4GB。
- 磁盘:至少 15GB 可用空间。
- Docker:已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
选购搬瓦工 VPS 请参考 全部方案,优惠码 NODESEEK2026 可享受 6.77% 折扣。
三、Docker 部署 Budibase
3.1 创建项目目录
mkdir -p /opt/budibase && cd /opt/budibase
3.2 创建环境变量文件
cat > .env <<'EOF'
MAIN_PORT=10000
JWT_SECRET=$(openssl rand -hex 32)
MINIO_ACCESS_KEY=budibase_minio
MINIO_SECRET_KEY=$(openssl rand -hex 24)
COUCH_DB_USER=budibase
COUCH_DB_PASSWORD=$(openssl rand -hex 24)
REDIS_PASSWORD=$(openssl rand -hex 24)
INTERNAL_API_KEY=$(openssl rand -hex 32)
API_ENCRYPTION_KEY=$(openssl rand -hex 16)
EOF
实际使用时需要将上面的 $(openssl rand ...) 替换为实际生成的随机值:
openssl rand -hex 32
openssl rand -hex 24
openssl rand -hex 16
3.3 创建 Docker Compose 文件
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
budibase:
image: budibase/budibase:latest
container_name: budibase
restart: always
ports:
- "10000:80"
environment:
JWT_SECRET: "${JWT_SECRET}"
MINIO_ACCESS_KEY: "${MINIO_ACCESS_KEY}"
MINIO_SECRET_KEY: "${MINIO_SECRET_KEY}"
COUCH_DB_URL: "http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb:5984"
REDIS_URL: "redis://default:${REDIS_PASSWORD}@redis:6379"
INTERNAL_API_KEY: "${INTERNAL_API_KEY}"
API_ENCRYPTION_KEY: "${API_ENCRYPTION_KEY}"
volumes:
- budibase_data:/data
depends_on:
- couchdb
- redis
couchdb:
image: budibase/couchdb:latest
container_name: budibase-couchdb
restart: always
environment:
COUCHDB_USER: "${COUCH_DB_USER}"
COUCHDB_PASSWORD: "${COUCH_DB_PASSWORD}"
volumes:
- couchdb_data:/opt/couchdb/data
redis:
image: redis:7-alpine
container_name: budibase-redis
restart: always
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- redis_data:/data
volumes:
budibase_data:
couchdb_data:
redis_data:
EOF
3.4 启动 Budibase
docker compose up -d
docker compose logs -f budibase
服务启动后,访问 http://你的服务器IP:10000 进入 Budibase 设置向导,创建管理员账户和第一个组织。
四、Nginx 反向代理
apt update && apt install nginx -y
cat > /etc/nginx/sites-available/budibase <<'EOF'
server {
listen 80;
server_name budibase.example.com;
client_max_body_size 50m;
location / {
proxy_pass http://127.0.0.1:10000;
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";
}
}
EOF
ln -s /etc/nginx/sites-available/budibase /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
apt install certbot python3-certbot-nginx -y
certbot --nginx -d budibase.example.com
五、使用 Budibase 构建应用
5.1 创建数据表
在 Budibase 中新建应用后,进入"Data"模块。选择 BudibaseDB 创建内部数据表,或连接外部数据库。内部数据表支持文本、数字、日期、选项、关系、附件、公式和自动编号等字段类型。你还可以通过 CSV 文件导入现有数据。
5.2 设计界面
进入"Design"模块,Budibase 可以根据数据表自动生成完整的 CRUD 界面(列表页、详情页、编辑表单)。你也可以从空白页面开始,使用表格、表单、图表、卡片、容器等组件自行设计。每个组件都支持条件显示和数据绑定。
5.3 配置自动化
进入"Automate"模块创建自动化流程。触发器类型包括:行创建/更新/删除、Cron 定时、Webhook 和应用内事件。动作类型包括:发送邮件、创建/更新行、执行 JavaScript、调用外部 API、发送 Slack 通知等。
5.4 发布和用户管理
应用开发完成后点击"Publish"发布。在管理面板邀请用户并分配角色。Admin 角色可以管理应用和用户,Power 角色可以使用所有应用功能,Basic 角色只能访问授权的页面和数据。
六、备份与升级
# 备份 CouchDB 数据
docker exec budibase-couchdb tar czf /tmp/couchdb_backup.tar.gz /opt/couchdb/data
docker cp budibase-couchdb:/tmp/couchdb_backup.tar.gz /opt/budibase/couchdb_backup_$(date +%Y%m%d).tar.gz
# 备份 Budibase 数据
docker cp budibase:/data /opt/budibase/data_backup_$(date +%Y%m%d)
# 升级
cd /opt/budibase
docker compose pull
docker compose down
docker compose up -d
总结
Budibase 是搭建内部业务应用的优秀选择,内置数据库和自动化引擎让应用开发更加便捷。与 Appsmith 和 ToolJet 相比,Budibase 在表单和审批流程类应用方面更具优势。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 折扣。更多教程请访问 搬瓦工VPS中文网。