qwen2api / Dockerfile
BlueSkyXN's picture
Upload 2 files
b215918 verified
raw
history blame
1.45 kB
FROM node:16-slim
# 安装 git
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
# 设置工作目录
WORKDIR /app
# 克隆代码仓库
RUN git clone https://github.com/Rfym21/Qwen2API .
# 安装依赖
RUN npm install
# 暴露端口
EXPOSE 3000
# 创建启动脚本
RUN echo '#!/bin/bash\n\
\n\
# 日志函数\n\
log() {\n\
echo "[$(date "+%Y-%m-%d %H:%M:%S")] $1"\n\
}\n\
\n\
# 初始化 .env 文件\n\
log "正在设置环境变量..."\n\
\n\
# 创建 .env 文件,使用默认值处理\n\
echo "API_PREFIX=${API_PREFIX:-}" > .env\n\
echo "SERVICE_PORT=${SERVICE_PORT:-3000}" >> .env\n\
echo "API_KEY=${API_KEY:-}" >> .env\n\
echo "ACCOUNT_TOKENS=${ACCOUNT_TOKENS:-}" >> .env\n\
echo "SEARCH_INFO_MODE=${SEARCH_INFO_MODE:-table}" >> .env\n\
\n\
# 账号令牌验证\n\
if [ -z "$ACCOUNT_TOKENS" ]; then\n\
log "警告: ACCOUNT_TOKENS 未设置,服务可能无法正常连接到 Qwen.ai"\n\
fi\n\
\n\
# 显示配置信息\n\
log "配置信息:"\n\
log "API_PREFIX: ${API_PREFIX:-(未设置)}"\n\
log "SERVICE_PORT: ${SERVICE_PORT:-3000}"\n\
log "API_KEY: ${API_KEY:+已设置} ${API_KEY:-未设置}"\n\
log "ACCOUNT_TOKENS: ${ACCOUNT_TOKENS:+已设置} ${ACCOUNT_TOKENS:-未设置}"\n\
log "SEARCH_INFO_MODE: ${SEARCH_INFO_MODE:-table}"\n\
\n\
# 启动服务\n\
log "正在启动 Qwen2API 服务..."\n\
npm start\n\
' > /app/start.sh && chmod +x /app/start.sh
# 设置启动命令
CMD ["/app/start.sh"]