#!/bin/bash # 生产环境启动脚本 # 用途:启动生产服务 set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" cd "$PROJECT_ROOT" echo "=== 启动生产服务 ===" echo "" # 检查 .env.prod 文件 if [ ! -f ".env.prod" ]; then echo "错误: 未找到 .env.prod 文件" echo "请复制 .env.example 为 .env.prod 并填写生产环境变量" exit 1 fi # 检查必需的环境变量 source .env.prod 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 "错误: .env.prod 中未设置 $var" exit 1 fi done # 设置镜像标签(默认 latest) IMAGE_TAG=${IMAGE_TAG:-latest} export IMAGE_TAG # 启动服务 echo "使用镜像标签: $IMAGE_TAG" echo "" docker-compose -f docker-compose.prod.yml --env-file .env.prod up -d echo "" echo "等待服务启动..." sleep 5 # 检查服务状态 echo "" echo "服务状态:" docker-compose -f docker-compose.prod.yml ps echo "" echo "=== 启动完成 ===" echo "" echo "查看日志: docker-compose -f docker-compose.prod.yml logs -f" echo "检查健康: curl http://localhost/api/health"