| 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 mkdir -p /app/data && \ |
| chmod 777 /app/data && \ |
| chmod 777 /app |
| |
| # 安装依赖 |
| RUN npm install |
| |
| # 暴露端口 |
| EXPOSE 3000 |
| |
| # 创建不写入 .env 文件的启动脚本 |
| RUN echo '#!/bin/bash\n\ |
| \n\ |
| # 日志函数\n\ |
| log() {\n\ |
| echo "[$(date "+%Y-%m-%d %H:%M:%S")] $1"\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\ |
| |
| log "正在启动 Qwen2API 服务..."\n\ |
| node src/server.js\n\ |
| ' > /app/start.sh && chmod +x /app/start.sh |
| |
| # 设置启动命令 |
| CMD ["/app/start.sh"] |