fix: 修复环境报错问题

This commit is contained in:
Daniel
2026-04-12 20:10:08 +08:00
parent 2051d200ec
commit bdf88f9a8f
4 changed files with 20 additions and 18 deletions

View File

@@ -1,3 +1,4 @@
QWEN_API_KEY=sk-85880595fc714d63bfd0b025e917bd26 # 复制为 .env 并填写密钥,或直接在下方编辑(请勿将真实密钥提交到 Git
QWEN_API_KEY=
QWEN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 QWEN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
QWEN_MODEL=qwen3.5-plus QWEN_MODEL=qwen-plus

View File

@@ -22,12 +22,15 @@ services:
context: ./backend context: ./backend
container_name: exam-helper-backend container_name: exam-helper-backend
restart: unless-stopped restart: unless-stopped
# AI 相关变量优先从 .env.example 注入;若存在 .env 则覆盖同名项(见 Compose env_file 顺序)
env_file:
- .env.example
- path: .env
required: false
environment: environment:
DATABASE_URL: postgresql+psycopg://exam_user:exam_pass@db:5432/exam_helper DATABASE_URL: postgresql+psycopg://exam_user:exam_pass@db:5432/exam_helper
CORS_ORIGINS: http://localhost:5173 # 本地开发 Vite + Docker 前端均需允许
QWEN_API_KEY: ${QWEN_API_KEY:-} CORS_ORIGINS: http://localhost:5173,http://localhost:8173
QWEN_BASE_URL: ${QWEN_BASE_URL:-https://dashscope.aliyuncs.com/compatible-mode/v1}
QWEN_MODEL: ${QWEN_MODEL:-qwen-plus}
UPLOAD_DIR: /app/uploads UPLOAD_DIR: /app/uploads
volumes: volumes:
- uploads_data:/app/uploads - uploads_data:/app/uploads
@@ -35,7 +38,7 @@ services:
db: db:
condition: service_healthy condition: service_healthy
ports: ports:
- "8866:8000" - "127.0.0.1:8866:8000"
frontend: frontend:
build: build:
@@ -45,7 +48,7 @@ services:
depends_on: depends_on:
- backend - backend
ports: ports:
- "8173:80" - "127.0.0.1:8173:80"
volumes: volumes:
postgres_data: postgres_data:

View File

@@ -64,20 +64,18 @@ docker compose up --build
## AI 配置(千问) ## AI 配置(千问)
1. 复制配置模板: `docker-compose.yml` 会从 **`.env.example`** 注入 `QWEN_*` 环境变量;若项目根目录存在 **`.env`**,其中同名变量会**覆盖** `.env.example`
```bash 1. 任选其一:
cp .env.example .env - 直接编辑 `.env.example`,填入 `QWEN_API_KEY`;或
``` - `cp .env.example .env` 后只编辑 `.env`(推荐,避免把密钥提交进仓库)
2. 重新启动服务:
2. 编辑 `.env`,填入你的 `QWEN_API_KEY`
3. 重新启动服务:
```bash ```bash
./start.sh ./start.sh
``` ```
> 千问接口采用 OpenAI 兼容模式,默认 `QWEN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1`,模型 `qwen-plus` > 千问接口采用 OpenAI 兼容模式,默认 `QWEN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1`,模型可在 `.env.example` / `.env` 中通过 `QWEN_MODEL` 配置
## 常用命令 ## 常用命令

View File

@@ -13,9 +13,9 @@ echo "==> 当前容器状态"
docker compose ps docker compose ps
if [[ -f ".env" ]]; then if [[ -f ".env" ]]; then
echo "==> 检测到 .env,已可使用千问 AI 模块" echo "==> 检测到 .env(将覆盖 .env.example 中的同名 AI 变量)"
else else
echo "==> 未检测到 .envAI 模块需要配置 QWEN_API_KEY" echo "==> AI 配置来自 .env.example请填写 QWEN_API_KEY亦可复制为 .env 再填写"
fi fi
echo "==> 健康检查(端口与 docker-compose.yml 一致:后端 8866前端 Nginx 8173" echo "==> 健康检查(端口与 docker-compose.yml 一致:后端 8866前端 Nginx 8173"