#!/usr/bin/env bash # 一键用 Docker 启动整套 CRM AI Demo: # 1. Twenty CRM (./twenty 源码 + Docker 构建) # 2. Chatwoot (./chatwoot 源码 + Docker 构建) # 3. Bridge + 基础设施 (./docker-compose.yml) set -e HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" TWENTY_DIR="$HERE/twenty" echo "==> [1/3] Twenty CRM (源码 Docker 构建 + 开发模式)" if [ -f "$TWENTY_DIR/docker-compose.yaml" ]; then docker compose -f "$TWENTY_DIR/docker-compose.yaml" --project-directory "$TWENTY_DIR" up -d --build else echo " 跳过:未找到 $TWENTY_DIR/docker-compose.yaml" fi echo "==> [2/3] Chatwoot (源码 Docker 构建 + 开发模式)" docker compose -f "$HERE/chatwoot/docker-compose.yml" up -d --build echo "==> [3/3] 共享基础设施 (pg + redis) + Bridge" docker compose -f "$HERE/docker-compose.yml" up -d --build echo echo "==> 全部已启动。容器状态:" docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' | grep -E 'NAMES|twenty|chatwoot|crm-' echo echo "Bridge 日志: docker logs -f crm-bridge" echo "健康检查: curl http://localhost:4000/healthz" echo "" echo "首次构建提示:" echo " Chatwoot 首次 build 需 5-10 分钟 (bundle install + pnpm install)" echo " Twenty 首次 build 需 5-10 分钟 (yarn install)" echo " 之后改源码无需重建镜像 (volume 挂载,服务自动重载)"