Files
clawpanel/docker-compose.yml
晴天 3687e26d5d feat: 飞书官方插件迁移 + 配对审批 + Gateway防卡死 + 微信升级修复 + 更新检测修复
- 飞书渠道从 @openclaw/feishu 迁移到 @larksuite/openclaw-lark 官方插件
- 保存飞书配置时自动禁用旧 feishu 插件,防止新旧插件冲突
- 所有主要渠道(飞书/Telegram/Discord/Slack)启用配对审批UI
- gateway_command 增加20s超时,超时后force-kill+fresh start
- 全平台启动前端口占用检查,防止Guardian无限拉起
- Linux gateway_command 补齐 Duration 导入和 cleanup_zombie 实现
- Guardian自动守护在Tauri桌面端也启用,轮询间隔30s→15s
- 微信渠道:升级操作不再弹出扫码二维码,按钮文案区分安装/升级
- 版本更新检测:CI不再将minAppVersion写死为当前版本
- 部署脚本增强OpenClaw检测,支持已安装的官方版
- 日间/夜间模式圆形扩散切换动画(View Transitions API)
- API错误信息完整展示(429限流等),URL自动转可点击链接
- 第三方API接入引导优化:移除内置密钥,引导式流程
- 修复全平台 Clippy 警告(strip_prefix/dead_code/unnecessary_unwrap等)
- Rust代码格式化修复(cargo fmt)
- toast组件支持HTML内容渲染
- Rust后端test_model返回详细错误信息
2026-03-23 21:51:34 +08:00

164 lines
6.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# ClawPanel Docker Compose 配置
# =============================================================================
# 使用方法:
# 1. 快速启动: docker compose up -d
# 2. 查看日志: docker compose logs -f
# 3. 停止服务: docker compose down
# 4. 重新构建: docker compose up -d --build
# =============================================================================
services:
# ---------------------------------------------------------------------------
# ClawPanel Web 服务
# ---------------------------------------------------------------------------
clawpanel:
build:
context: .
dockerfile: Dockerfile
# 使用 BuildKit 构建缓存
cache_from:
- clawpanel:build-cache
args:
- NPM_REGISTRY=https://registry.npmmirror.com
container_name: clawpanel
hostname: clawpanel
# -------------------------------------------------------------------------
# 网络配置 - 关键:使用 host 网络模式解决容器内外互通问题
# -------------------------------------------------------------------------
# host 模式:容器共享宿主机网络命名空间
# 优点:
# 1. 容器可以直接访问宿主机上的服务(如 Gateway
# 2. 避免端口映射的复杂性
# 3. 性能更好(无额外网络层)
# 注意:使用 host 模式后ports 配置无效
# -------------------------------------------------------------------------
network_mode: host
# -------------------------------------------------------------------------
# 端口映射(仅在 network_mode 为 default 时生效)
# 如果你想用 bridge 模式而不是 host 模式,注释上面一行,取消下面注释
# -------------------------------------------------------------------------
# ports:
# - "1420:1420" # ClawPanel Web 界面
# -------------------------------------------------------------------------
# 卷挂载 - 数据持久化
# -------------------------------------------------------------------------
volumes:
# OpenClaw 配置目录 - 关键!
# 包含 openclaw.json, mcp.json, agents/, devices/ 等
- ~/.openclaw:/root/.openclaw
# ClawPanel 数据目录(可选,用于存储临时文件)
- ./data:/app/data
# -------------------------------------------------------------------------
# 环境变量
# -------------------------------------------------------------------------
environment:
- NODE_ENV=production
# OpenClaw Gateway 地址(如果 Gateway 不在本地,修改为实际地址)
# 注意host 模式下直接使用 localhost 或 127.0.0.1
- OPENCLAW_URL=http://127.0.0.1:18789
# 如果需要代理(取消注释并修改为实际代理地址)
# - HTTP_PROXY=http://host.docker.internal:7890
# - HTTPS_PROXY=http://host.docker.internal:7890
# 时区设置
- TZ=Asia/Shanghai
# 确保 HOME 环境变量正确
- HOME=/root
# -------------------------------------------------------------------------
# 重启策略
# -------------------------------------------------------------------------
restart: unless-stopped
# -------------------------------------------------------------------------
# 健康检查
# -------------------------------------------------------------------------
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:1420/"]
interval: 30s
timeout: 5s
retries: 3
start_period: 15s
# -------------------------------------------------------------------------
# 安全配置
# -------------------------------------------------------------------------
# 使用读安全选项减少攻击面
security_opt:
- no-new-privileges:true
# -------------------------------------------------------------------------
# 资源限制(可选,取消注释以限制资源使用)
# -------------------------------------------------------------------------
# deploy:
# resources:
# limits:
# cpus: '1.0'
# memory: 1G
# reservations:
# cpus: '0.5'
# memory: 512M
# -------------------------------------------------------------------------
# 日志配置
# -------------------------------------------------------------------------
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# -------------------------------------------------------------------------
# 依赖(可选,如果 Gateway 在另一个容器中)
# -------------------------------------------------------------------------
# depends_on:
# gateway:
# condition: service_healthy
# ---------------------------------------------------------------------------
# OpenClaw Gateway 服务(可选,取消注释以启用)
# ---------------------------------------------------------------------------
# gateway:
# image: node:22-alpine
# container_name: openclaw-gateway
# hostname: openclaw-gateway
# network_mode: host
# volumes:
# - ~/.openclaw:/root/.openclaw
# environment:
# - TZ=Asia/Shanghai
# restart: unless-stopped
# command: >
# sh -c "npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmmirror.com &&
# openclaw init 2>/dev/null || true &&
# openclaw gateway start --foreground"
# healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:18789/health"]
# interval: 30s
# timeout: 5s
# retries: 3
# logging:
# driver: "json-file"
# options:
# max-size: "10m"
# max-file: "3"
# =============================================================================
# 网络配置(使用 host 模式时不需要)
# =============================================================================
# networks:
# default:
# name: clawpanel-network
# driver: bridge
# =============================================================================
# 卷配置
# =============================================================================
# volumes:
# openclaw-config:
# name: clawpanel-openclaw-config