Files
wecom-ai-assistant/deploy/scripts/deploy-minimal.sh
2026-02-05 16:36:32 +08:00

89 lines
2.1 KiB
Bash
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.
#!/bin/bash
# 云端最小回调壳部署脚本
# 用途:在备案域名服务器上部署最小可用回调壳
set -e
echo "=== 企业微信 AI 助手 - 最小回调壳部署 ==="
echo ""
# 检查环境变量
if [ -z "$DOMAIN" ]; then
echo "错误: 未设置 DOMAIN 环境变量"
echo "请设置: export DOMAIN=your-domain.com"
exit 1
fi
if [ ! -f ".env" ]; then
echo "错误: 未找到 .env 文件"
echo "请复制 .env.example 并填写必需变量"
exit 1
fi
# 检查必需的环境变量
source .env
required_vars=("WECOM_TOKEN" "WECOM_ENCODING_AES_KEY" "WECOM_CORP_ID" "WECOM_AGENT_ID")
for var in "${required_vars[@]}"; do
if [ -z "${!var}" ]; then
echo "错误: 未设置 $var 环境变量"
exit 1
fi
done
echo "[1/5] 检查 Docker 环境..."
if ! command -v docker &> /dev/null; then
echo "错误: Docker 未安装"
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "错误: docker-compose 未安装"
exit 1
fi
echo "✓ Docker 环境正常"
echo ""
echo "[2/5] 构建后端镜像..."
docker-compose build backend
echo "✓ 构建完成"
echo ""
echo "[3/5] 启动服务最小回调壳backend + nginx..."
docker-compose up -d backend nginx
echo "✓ 服务已启动"
echo ""
echo "[4/5] 等待服务就绪..."
sleep 5
# 检查健康检查
max_retries=30
retry_count=0
while [ $retry_count -lt $max_retries ]; do
if curl -f -s http://localhost:8000/health > /dev/null 2>&1; then
echo "✓ 后端服务健康检查通过"
break
fi
retry_count=$((retry_count + 1))
echo "等待后端服务启动... ($retry_count/$max_retries)"
sleep 2
done
if [ $retry_count -eq $max_retries ]; then
echo "警告: 后端服务健康检查超时"
echo "请检查日志: docker-compose logs backend"
fi
echo ""
echo "[5/5] 部署完成!"
echo ""
echo "=== 下一步 ==="
echo "1. 配置企业微信回调 URL: https://$DOMAIN/api/wecom/callback"
echo "2. Token: $WECOM_TOKEN"
echo "3. EncodingAESKey: $WECOM_ENCODING_AES_KEY"
echo ""
echo "查看日志: docker-compose logs -f backend"
echo "检查服务: docker-compose ps"
echo ""