feat: Add Temporal and Windmill services with configuration files
- Implemented Temporal service with Docker Compose, including PostgreSQL setup and environment variables for configuration. - Added Temporal README and Chinese translation for documentation. - Introduced Windmill service with Docker Compose, including PostgreSQL setup and environment variables for configuration. - Added Windmill README and Chinese translation for documentation. - Updated MongoDB configurations to use host.docker.internal for better compatibility.
This commit is contained in:
52
src/budibase/.env.example
Normal file
52
src/budibase/.env.example
Normal file
@@ -0,0 +1,52 @@
|
||||
# Budibase Configuration
|
||||
|
||||
# Version
|
||||
BUDIBASE_VERSION=3.23.0
|
||||
REDIS_VERSION=7-alpine
|
||||
|
||||
# Port Configuration
|
||||
BUDIBASE_PORT_OVERRIDE=10000
|
||||
|
||||
# Internal Service Ports (usually no need to change)
|
||||
BUDIBASE_APP_PORT=4002
|
||||
BUDIBASE_WORKER_PORT=4003
|
||||
BUDIBASE_MINIO_PORT=4004
|
||||
BUDIBASE_COUCH_DB_PORT=4005
|
||||
BUDIBASE_REDIS_PORT=6379
|
||||
|
||||
# Environment
|
||||
BUDIBASE_ENVIRONMENT=PRODUCTION
|
||||
BUDIBASE_DEPLOYMENT_ENVIRONMENT=docker
|
||||
|
||||
# Security Settings - IMPORTANT: Change these in production!
|
||||
BUDIBASE_INTERNAL_API_KEY=changeme_internal_api_key_minimum_32_chars
|
||||
BUDIBASE_JWT_SECRET=changeme_jwt_secret_minimum_32_chars
|
||||
BUDIBASE_MINIO_ACCESS_KEY=budibase
|
||||
BUDIBASE_MINIO_SECRET_KEY=budibase
|
||||
BUDIBASE_COUCHDB_USER=admin
|
||||
BUDIBASE_COUCHDB_PASSWORD=admin
|
||||
|
||||
# Admin User - IMPORTANT: Change these!
|
||||
BUDIBASE_ADMIN_EMAIL=admin@budibase.com
|
||||
BUDIBASE_ADMIN_PASSWORD=changeme
|
||||
|
||||
# Optional: Account Portal URL
|
||||
BUDIBASE_ACCOUNT_PORTAL_URL=https://account.budibase.app
|
||||
|
||||
# Optional: PostHog Analytics Token (leave empty to disable)
|
||||
BUDIBASE_POSTHOG_TOKEN=
|
||||
|
||||
# Timezone
|
||||
TZ=UTC
|
||||
|
||||
# Resource Limits - Budibase
|
||||
BUDIBASE_CPU_LIMIT=2.0
|
||||
BUDIBASE_CPU_RESERVATION=0.5
|
||||
BUDIBASE_MEMORY_LIMIT=2G
|
||||
BUDIBASE_MEMORY_RESERVATION=512M
|
||||
|
||||
# Resource Limits - Redis
|
||||
REDIS_CPU_LIMIT=0.5
|
||||
REDIS_CPU_RESERVATION=0.1
|
||||
REDIS_MEMORY_LIMIT=512M
|
||||
REDIS_MEMORY_RESERVATION=128M
|
||||
142
src/budibase/README.md
Normal file
142
src/budibase/README.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# Budibase
|
||||
|
||||
Budibase is an all-in-one low-code platform for building modern internal tools and dashboards. Build CRUD apps, admin panels, approval workflows, and more in minutes.
|
||||
|
||||
## Features
|
||||
|
||||
- **Visual App Builder**: Drag-and-drop interface for building apps quickly
|
||||
- **Built-in Database**: Spreadsheet-like database or connect to external data sources
|
||||
- **Multi-tenant Support**: User management and role-based access control
|
||||
- **Automation**: Build workflows and automations without code
|
||||
- **Custom Plugins**: Extend functionality with custom components
|
||||
- **API & Webhooks**: REST API, GraphQL, and webhook support
|
||||
- **Self-hosted**: Full control over your data
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Copy `.env.example` to `.env`:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. **IMPORTANT**: Edit `.env` and change the following security settings:
|
||||
- `BUDIBASE_INTERNAL_API_KEY` - Generate a random 32+ character string
|
||||
- `BUDIBASE_JWT_SECRET` - Generate a random 32+ character string
|
||||
- `BUDIBASE_ADMIN_EMAIL` - Your admin email
|
||||
- `BUDIBASE_ADMIN_PASSWORD` - A strong password
|
||||
- `BUDIBASE_MINIO_ACCESS_KEY` and `BUDIBASE_MINIO_SECRET_KEY` - MinIO credentials
|
||||
|
||||
3. Start Budibase:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
4. Access Budibase at `http://localhost:10000`
|
||||
|
||||
5. Log in with your configured admin credentials
|
||||
|
||||
## Default Configuration
|
||||
|
||||
| Service | Port | Description |
|
||||
| -------- | ----- | -------------- |
|
||||
| Budibase | 10000 | Web UI and API |
|
||||
|
||||
**Default Admin Credentials** (Change these!):
|
||||
|
||||
- Email: `admin@budibase.com`
|
||||
- Password: `changeme`
|
||||
|
||||
## Environment Variables
|
||||
|
||||
Key environment variables (see `.env.example` for full list):
|
||||
|
||||
| Variable | Description | Default |
|
||||
| --------------------------- | ---------------------------- | -------------------- |
|
||||
| `BUDIBASE_VERSION` | Budibase image version | `3.23.0` |
|
||||
| `BUDIBASE_PORT_OVERRIDE` | Host port for UI | `10000` |
|
||||
| `BUDIBASE_INTERNAL_API_KEY` | Internal API key (32+ chars) | **Must change!** |
|
||||
| `BUDIBASE_JWT_SECRET` | JWT secret (32+ chars) | **Must change!** |
|
||||
| `BUDIBASE_ADMIN_EMAIL` | Admin user email | `admin@budibase.com` |
|
||||
| `BUDIBASE_ADMIN_PASSWORD` | Admin user password | `changeme` |
|
||||
| `BUDIBASE_ENVIRONMENT` | Environment mode | `PRODUCTION` |
|
||||
| `TZ` | Timezone | `UTC` |
|
||||
|
||||
## Resource Requirements
|
||||
|
||||
**Minimum**:
|
||||
|
||||
- CPU: 0.5 cores
|
||||
- RAM: 512MB
|
||||
- Disk: 2GB
|
||||
|
||||
**Recommended**:
|
||||
|
||||
- CPU: 2 cores
|
||||
- RAM: 2GB
|
||||
- Disk: 10GB
|
||||
|
||||
## Volumes
|
||||
|
||||
- `budibase_data`: Budibase application data (database, files, configs)
|
||||
- `redis_data`: Redis cache data
|
||||
|
||||
## Security Considerations
|
||||
|
||||
1. **Change Default Credentials**: Always change the default admin credentials
|
||||
2. **Strong Secrets**: Use strong random strings for API keys and JWT secrets
|
||||
3. **Environment Variables**: Store sensitive values in `.env` file, never commit to version control
|
||||
4. **SSL/TLS**: Use reverse proxy (nginx, Traefik) with SSL in production
|
||||
5. **Firewall**: Restrict access to port 10000 in production environments
|
||||
6. **Backups**: Regularly backup the `budibase_data` volume
|
||||
|
||||
## Upgrading
|
||||
|
||||
1. Pull the latest image:
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
```
|
||||
|
||||
2. Restart the services:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
3. Check logs:
|
||||
|
||||
```bash
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**Service won't start:**
|
||||
|
||||
- Check logs: `docker compose logs budibase`
|
||||
- Ensure ports are not in use: `netstat -an | findstr 10000`
|
||||
- Verify environment variables are set correctly
|
||||
|
||||
**Cannot login:**
|
||||
|
||||
- Verify admin credentials in `.env` file
|
||||
- Reset admin password by recreating the container with new credentials
|
||||
|
||||
**Performance issues:**
|
||||
|
||||
- Increase resource limits in `.env` file
|
||||
- Check Redis memory usage: `docker compose exec redis redis-cli INFO memory`
|
||||
|
||||
## References
|
||||
|
||||
- Official Website: <https://budibase.com>
|
||||
- Documentation: <https://docs.budibase.com>
|
||||
- GitHub: <https://github.com/Budibase/budibase>
|
||||
- Community: <https://github.com/Budibase/budibase/discussions>
|
||||
- Docker Hub: <https://hub.docker.com/r/budibase/budibase>
|
||||
|
||||
## License
|
||||
|
||||
Budibase is licensed under GPL-3.0. See [LICENSE](https://github.com/Budibase/budibase/blob/master/LICENSE) for more information.
|
||||
142
src/budibase/README.zh.md
Normal file
142
src/budibase/README.zh.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# Budibase
|
||||
|
||||
Budibase 是一个一体化的低代码平台,用于快速构建现代内部工具和仪表板。可以在几分钟内构建 CRUD 应用、管理面板、审批工作流等。
|
||||
|
||||
## 功能特点
|
||||
|
||||
- **可视化应用构建器**:通过拖放界面快速构建应用
|
||||
- **内置数据库**:类似电子表格的数据库或连接到外部数据源
|
||||
- **多租户支持**:用户管理和基于角色的访问控制
|
||||
- **自动化**:无需编码即可构建工作流和自动化流程
|
||||
- **自定义插件**:使用自定义组件扩展功能
|
||||
- **API 和 Webhook**:REST API、GraphQL 和 webhook 支持
|
||||
- **自托管**:完全控制您的数据
|
||||
|
||||
## 快速开始
|
||||
|
||||
1. 复制 `.env.example` 到 `.env`:
|
||||
|
||||
```bash
|
||||
copy .env.example .env
|
||||
```
|
||||
|
||||
2. **重要**:编辑 `.env` 并更改以下安全设置:
|
||||
- `BUDIBASE_INTERNAL_API_KEY` - 生成一个 32 位以上的随机字符串
|
||||
- `BUDIBASE_JWT_SECRET` - 生成一个 32 位以上的随机字符串
|
||||
- `BUDIBASE_ADMIN_EMAIL` - 您的管理员邮箱
|
||||
- `BUDIBASE_ADMIN_PASSWORD` - 一个强密码
|
||||
- `BUDIBASE_MINIO_ACCESS_KEY` 和 `BUDIBASE_MINIO_SECRET_KEY` - MinIO 凭证
|
||||
|
||||
3. 启动 Budibase:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
4. 访问 `http://localhost:10000`
|
||||
|
||||
5. 使用配置的管理员凭证登录
|
||||
|
||||
## 默认配置
|
||||
|
||||
| 服务 | 端口 | 说明 |
|
||||
| -------- | ----- | ------------- |
|
||||
| Budibase | 10000 | Web UI 和 API |
|
||||
|
||||
**默认管理员凭证**(请更改!):
|
||||
|
||||
- 邮箱:`admin@budibase.com`
|
||||
- 密码:`changeme`
|
||||
|
||||
## 环境变量
|
||||
|
||||
主要环境变量(完整列表请参阅 `.env.example`):
|
||||
|
||||
| 变量 | 说明 | 默认值 |
|
||||
| --------------------------- | ------------------------- | -------------------- |
|
||||
| `BUDIBASE_VERSION` | Budibase 镜像版本 | `3.23.0` |
|
||||
| `BUDIBASE_PORT_OVERRIDE` | UI 的主机端口 | `10000` |
|
||||
| `BUDIBASE_INTERNAL_API_KEY` | 内部 API 密钥(32+ 字符) | **必须更改!** |
|
||||
| `BUDIBASE_JWT_SECRET` | JWT 密钥(32+ 字符) | **必须更改!** |
|
||||
| `BUDIBASE_ADMIN_EMAIL` | 管理员用户邮箱 | `admin@budibase.com` |
|
||||
| `BUDIBASE_ADMIN_PASSWORD` | 管理员用户密码 | `changeme` |
|
||||
| `BUDIBASE_ENVIRONMENT` | 环境模式 | `PRODUCTION` |
|
||||
| `TZ` | 时区 | `UTC` |
|
||||
|
||||
## 资源需求
|
||||
|
||||
**最低要求**:
|
||||
|
||||
- CPU:0.5 核心
|
||||
- 内存:512MB
|
||||
- 磁盘:2GB
|
||||
|
||||
**推荐配置**:
|
||||
|
||||
- CPU:2 核心
|
||||
- 内存:2GB
|
||||
- 磁盘:10GB
|
||||
|
||||
## 数据卷
|
||||
|
||||
- `budibase_data`:Budibase 应用数据(数据库、文件、配置)
|
||||
- `redis_data`:Redis 缓存数据
|
||||
|
||||
## 安全注意事项
|
||||
|
||||
1. **更改默认凭证**:始终更改默认管理员凭证
|
||||
2. **强密钥**:为 API 密钥和 JWT 密钥使用强随机字符串
|
||||
3. **环境变量**:将敏感值存储在 `.env` 文件中,切勿提交到版本控制
|
||||
4. **SSL/TLS**:在生产环境中使用带 SSL 的反向代理(nginx、Traefik)
|
||||
5. **防火墙**:在生产环境中限制对 10000 端口的访问
|
||||
6. **备份**:定期备份 `budibase_data` 数据卷
|
||||
|
||||
## 升级
|
||||
|
||||
1. 拉取最新镜像:
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
```
|
||||
|
||||
2. 重启服务:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
3. 检查日志:
|
||||
|
||||
```bash
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## 故障排除
|
||||
|
||||
**服务无法启动:**
|
||||
|
||||
- 检查日志:`docker compose logs budibase`
|
||||
- 确保端口未被占用:`netstat -an | findstr 10000`
|
||||
- 验证环境变量设置正确
|
||||
|
||||
**无法登录:**
|
||||
|
||||
- 验证 `.env` 文件中的管理员凭证
|
||||
- 通过使用新凭证重新创建容器来重置管理员密码
|
||||
|
||||
**性能问题:**
|
||||
|
||||
- 在 `.env` 文件中增加资源限制
|
||||
- 检查 Redis 内存使用:`docker compose exec redis redis-cli INFO memory`
|
||||
|
||||
## 参考资料
|
||||
|
||||
- 官方网站:<https://budibase.com>
|
||||
- 文档:<https://docs.budibase.com>
|
||||
- GitHub:<https://github.com/Budibase/budibase>
|
||||
- 社区:<https://github.com/Budibase/budibase/discussions>
|
||||
- Docker Hub:<https://hub.docker.com/r/budibase/budibase>
|
||||
|
||||
## 许可证
|
||||
|
||||
Budibase 使用 GPL-3.0 许可证。详情请参阅 [LICENSE](https://github.com/Budibase/budibase/blob/master/LICENSE)。
|
||||
116
src/budibase/docker-compose.yaml
Normal file
116
src/budibase/docker-compose.yaml
Normal file
@@ -0,0 +1,116 @@
|
||||
# Budibase - Low-code platform for building internal tools
|
||||
# https://github.com/Budibase/budibase
|
||||
#
|
||||
# Budibase is an all-in-one low-code platform for building modern internal tools and
|
||||
# dashboards. It allows you to build apps quickly with a spreadsheet-like database,
|
||||
# drag-and-drop UI, and pre-built components.
|
||||
#
|
||||
# Key Features:
|
||||
# - Visual app builder with drag-and-drop interface
|
||||
# - Built-in database or connect to external data sources
|
||||
# - Multi-tenant support with user management
|
||||
# - REST API, GraphQL, and webhooks support
|
||||
# - Custom plugins and automation support
|
||||
#
|
||||
# Default Credentials:
|
||||
# - Access UI at http://localhost:10000
|
||||
# - Default admin email: admin@budibase.com
|
||||
# - Default password: changeme
|
||||
#
|
||||
# Security Notes:
|
||||
# - Change default admin credentials immediately
|
||||
# - Use strong INTERNAL_API_KEY and JWT_SECRET in production
|
||||
# - Store sensitive data in .env file
|
||||
# - Enable SSL/TLS in production environments
|
||||
#
|
||||
# License: GPL-3.0 (https://github.com/Budibase/budibase/blob/master/LICENSE)
|
||||
|
||||
x-default: &default
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 100m
|
||||
max-file: "3"
|
||||
|
||||
services:
|
||||
budibase:
|
||||
<<: *default
|
||||
image: budibase/budibase:${BUDIBASE_VERSION:-3.23.0}
|
||||
container_name: budibase
|
||||
ports:
|
||||
- "${BUDIBASE_PORT_OVERRIDE:-10000}:80"
|
||||
environment:
|
||||
# Core settings
|
||||
- APP_PORT=${BUDIBASE_APP_PORT:-4002}
|
||||
- WORKER_PORT=${BUDIBASE_WORKER_PORT:-4003}
|
||||
- MINIO_PORT=${BUDIBASE_MINIO_PORT:-4004}
|
||||
- COUCH_DB_PORT=${BUDIBASE_COUCH_DB_PORT:-4005}
|
||||
- REDIS_PORT=${BUDIBASE_REDIS_PORT:-6379}
|
||||
- BUDIBASE_ENVIRONMENT=${BUDIBASE_ENVIRONMENT:-PRODUCTION}
|
||||
|
||||
# Security - REQUIRED: Override these in .env file
|
||||
- INTERNAL_API_KEY=${BUDIBASE_INTERNAL_API_KEY:-changeme_internal_api_key_minimum_32_chars}
|
||||
- JWT_SECRET=${BUDIBASE_JWT_SECRET:-changeme_jwt_secret_minimum_32_chars}
|
||||
- MINIO_ACCESS_KEY=${BUDIBASE_MINIO_ACCESS_KEY:-budibase}
|
||||
- MINIO_SECRET_KEY=${BUDIBASE_MINIO_SECRET_KEY:-budibase}
|
||||
- COUCHDB_USER=${BUDIBASE_COUCHDB_USER:-admin}
|
||||
- COUCHDB_PASSWORD=${BUDIBASE_COUCHDB_PASSWORD:-admin}
|
||||
|
||||
# Admin user - REQUIRED: Override these in .env file
|
||||
- BB_ADMIN_USER_EMAIL=${BUDIBASE_ADMIN_EMAIL:-admin@budibase.com}
|
||||
- BB_ADMIN_USER_PASSWORD=${BUDIBASE_ADMIN_PASSWORD:-changeme}
|
||||
|
||||
# Optional settings
|
||||
- DEPLOYMENT_ENVIRONMENT=${BUDIBASE_DEPLOYMENT_ENVIRONMENT:-docker}
|
||||
- POSTHOG_TOKEN=${BUDIBASE_POSTHOG_TOKEN:-}
|
||||
- ACCOUNT_PORTAL_URL=${BUDIBASE_ACCOUNT_PORTAL_URL:-https://account.budibase.app}
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- TZ=${TZ:-UTC}
|
||||
|
||||
volumes:
|
||||
- budibase_data:/data
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "${BUDIBASE_CPU_LIMIT:-2.0}"
|
||||
memory: "${BUDIBASE_MEMORY_LIMIT:-2G}"
|
||||
reservations:
|
||||
cpus: "${BUDIBASE_CPU_RESERVATION:-0.5}"
|
||||
memory: "${BUDIBASE_MEMORY_RESERVATION:-512M}"
|
||||
|
||||
redis:
|
||||
<<: *default
|
||||
image: redis:${REDIS_VERSION:-7-alpine}
|
||||
container_name: budibase-redis
|
||||
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "${REDIS_CPU_LIMIT:-0.5}"
|
||||
memory: "${REDIS_MEMORY_LIMIT:-512M}"
|
||||
reservations:
|
||||
cpus: "${REDIS_CPU_RESERVATION:-0.1}"
|
||||
memory: "${REDIS_MEMORY_RESERVATION:-128M}"
|
||||
|
||||
volumes:
|
||||
budibase_data:
|
||||
driver: local
|
||||
redis_data:
|
||||
driver: local
|
||||
Reference in New Issue
Block a user