AIClient-2-API/run-docker.sh
hex2077 5f0cd6ad83 feat(docker): 添加Docker支持和部署指南
新增Dockerfile、.dockerignore和健康检查脚本,支持通过Docker部署服务。添加了详细的部署文档和自动化脚本,便于在不同环境下快速启动和配置服务。同时优化了系统提示词应用逻辑,移除了调试日志输出。
2025-07-30 19:46:12 +08:00

62 lines
No EOL
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
# run-docker-with-credentials.sh
# 生成指定的Docker运行命令使用HOME环境变量构建路径
echo "正在生成指定的Docker运行命令..."
# 设置配置文件路径使用HOME环境变量
AWS_SSO_CACHE_PATH="$HOME/.aws/sso/cache"
GEMINI_CONFIG_PATH="$HOME/.gemini/oauth_creds.json"
# 检查AWS SSO缓存目录是否存在
if [ -d "$AWS_SSO_CACHE_PATH" ]; then
echo "发现AWS SSO缓存目录: $AWS_SSO_CACHE_PATH"
else
echo "未找到AWS SSO缓存目录: $AWS_SSO_CACHE_PATH"
echo "注意AWS SSO缓存目录不存在Docker容器可能无法访问AWS凭证"
fi
# 检查Gemini配置文件是否存在
if [ -f "$GEMINI_CONFIG_PATH" ]; then
echo "发现Gemini配置文件: $GEMINI_CONFIG_PATH"
else
echo "未找到Gemini配置文件: $GEMINI_CONFIG_PATH"
echo "注意Gemini配置文件不存在Docker容器可能无法访问Gemini API"
fi
# 构建Docker运行命令使用HOME环境变量构建的路径
DOCKER_CMD="docker run -d \\
-p 3000:3000 \\
-e ARGS=\"--api-key 123456 --host 0.0.0.0\" \\
-v $AWS_SSO_CACHE_PATH:/home/nextjs/.aws/sso/cache \\
-v $GEMINI_CONFIG_PATH:/home/nextjs/.gemini/oauth_creds.json \\
--name gemini-cli2api \\
gemini-cli2api"
# 显示将要执行的命令
echo
echo "生成的Docker命令:"
echo "$DOCKER_CMD"
echo
# 将命令保存到文件中
echo "$DOCKER_CMD" > docker-run-command.txt
echo "命令已保存到 docker-run-command.txt 文件中,您可以从该文件复制完整的命令。"
# 询问用户是否要执行该命令
echo
read -p "是否要立即执行该Docker命令(y/n): " EXECUTE_CMD
if [ "$EXECUTE_CMD" = "y" ] || [ "$EXECUTE_CMD" = "Y" ]; then
echo "正在执行Docker命令..."
eval "$DOCKER_CMD"
if [ $? -eq 0 ]; then
echo "Docker容器已成功启动"
echo "您可以通过 http://localhost:3000 访问API服务"
else
echo "Docker命令执行失败请检查错误信息"
fi
else
echo "命令未执行您可以手动从docker-run-command.txt文件复制并执行命令"
fi
echo "脚本执行完成"