新增Dockerfile、.dockerignore和健康检查脚本,支持通过Docker部署服务。添加了详细的部署文档和自动化脚本,便于在不同环境下快速启动和配置服务。同时优化了系统提示词应用逻辑,移除了调试日志输出。
65 lines
No EOL
2.2 KiB
Batchfile
65 lines
No EOL
2.2 KiB
Batchfile
@echo off
|
||
:: run-docker-with-credentials.bat
|
||
:: 生成指定的Docker运行命令,使用USERPROFILE环境变量构建路径
|
||
|
||
setlocal enabledelayedexpansion
|
||
|
||
echo 正在生成指定的Docker运行命令...
|
||
|
||
:: 设置配置文件路径,使用USERPROFILE环境变量
|
||
set "AWS_SSO_CACHE_PATH=%USERPROFILE%\.aws\sso\cache"
|
||
set "GEMINI_CONFIG_PATH=%USERPROFILE%\.gemini\oauth_creds.json"
|
||
|
||
:: 检查AWS SSO缓存目录是否存在
|
||
if exist "%AWS_SSO_CACHE_PATH%" (
|
||
echo 发现AWS SSO缓存目录: %AWS_SSO_CACHE_PATH%
|
||
) else (
|
||
echo 未找到AWS SSO缓存目录: %AWS_SSO_CACHE_PATH%
|
||
echo 注意:AWS SSO缓存目录不存在,Docker容器可能无法访问AWS凭证
|
||
)
|
||
|
||
:: 检查Gemini配置文件是否存在
|
||
if exist "%GEMINI_CONFIG_PATH%" (
|
||
echo 发现Gemini配置文件: %GEMINI_CONFIG_PATH%
|
||
) else (
|
||
echo 未找到Gemini配置文件: %GEMINI_CONFIG_PATH%
|
||
echo 注意:Gemini配置文件不存在,Docker容器可能无法访问Gemini API
|
||
)
|
||
|
||
:: 构建Docker运行命令,使用USERPROFILE环境变量构建的路径
|
||
set "DOCKER_CMD=docker run -d ^"
|
||
set "DOCKER_CMD=!DOCKER_CMD! -p 3000:3000 ^"
|
||
set "DOCKER_CMD=!DOCKER_CMD! -e ARGS="--api-key 123456 --host 0.0.0.0" ^"
|
||
set "DOCKER_CMD=!DOCKER_CMD! -v "%AWS_SSO_CACHE_PATH%:/home/nextjs/.aws/sso/cache" ^"
|
||
set "DOCKER_CMD=!DOCKER_CMD! -v "%GEMINI_CONFIG_PATH%:/home/nextjs/.gemini/oauth_creds.json" ^"
|
||
set "DOCKER_CMD=!DOCKER_CMD! --name gemini-cli2api ^"
|
||
set "DOCKER_CMD=!DOCKER_CMD! gemini-cli2api"
|
||
|
||
:: 显示将要执行的命令
|
||
echo.
|
||
echo 生成的Docker命令:
|
||
echo !DOCKER_CMD!
|
||
echo.
|
||
|
||
:: 将命令保存到文件中
|
||
echo !DOCKER_CMD! > docker-run-command.txt
|
||
echo 命令已保存到 docker-run-command.txt 文件中,您可以从该文件复制完整的命令。
|
||
|
||
:: 询问用户是否要执行该命令
|
||
echo.
|
||
set /p EXECUTE_CMD="是否要立即执行该Docker命令?(y/n): "
|
||
if /i "!EXECUTE_CMD!"=="y" (
|
||
echo 正在执行Docker命令...
|
||
!DOCKER_CMD!
|
||
if !errorlevel! equ 0 (
|
||
echo Docker容器已成功启动!
|
||
echo 您可以通过 http://localhost:3000 访问API服务
|
||
) else (
|
||
echo Docker命令执行失败,请检查错误信息
|
||
)
|
||
) else (
|
||
echo 命令未执行,您可以手动从docker-run-command.txt文件复制并执行命令
|
||
)
|
||
|
||
echo 脚本执行完成
|
||
pause |