Files
2025-09-11 15:30:19 +08:00

97 lines
3.9 KiB
Markdown
Raw Permalink 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.

# AINoval 一键部署Docker 版)
本指南面向开源用户,提供无需自行构建前端与后端的简易部署方案:一个镜像同时打包后端 JAR 与已编译的 Web 静态文件,配合 docker-compose 可一键启动,并内置可选的 MongoDB 服务。
## 目录结构
```
deploy/
├─ dist/
│ ├─ ainoval-server.jar # 预编译后端
│ └─ web/ # 预编译前端静态文件
├─ open/
│ ├─ README.md # 本指南
│ ├─ Dockerfile # 开源镜像 Dockerfile相对路径复制 dist
│ ├─ docker-compose.yml # 开源 docker-compose相对路径引用本目录 env
│ ├─ production.env.example # 环境变量示例
│ └─ production.env # 实际运行环境变量(建议忽略到版本库外)
```
## 系统要求
- Docker 24+Docker Compose v2+
- 至少 1GB 可用内存(建议 2GB+),磁盘 2GB+
## 快速开始
1) 准备环境变量
- 复制 `deploy/open/production.env.example``deploy/open/production.env`
- 根据你的实际情况修改变量(尤其是 Mongo、JWT、对象存储、代理、API Key 等)
- 将github右边的release下的ainovel.jar包下载复制到deploy/dist目录下
2) 构建镜像(或使用你私有仓库已推送的镜像)
```bash
# 方式A在仓库根目录执行
docker compose -f deploy/open/docker-compose.yml build
# 方式B在 deploy/open 目录执行(无需重复路径)
cd deploy/open
docker compose -f docker-compose.yml build
# 或
docker compose build
```
3) 启动服务
```bash
# 仓库根目录
docker compose -f deploy/open/docker-compose.yml up -d
# 或在 deploy/open 目录
docker compose -f docker-compose.yml up -d
# 或
docker compose up -d
```
启动后访问http://localhost:18080/
## MongoDB 说明
- 默认 compose 已包含 `mongo` 服务镜像mongo:6.0),开源一键部署默认使用 dev 模式、无认证。
- 如你已有外部 MongoDB
- 注释/删除 `docker-compose.yml` 中的 `mongo` 服务;
-`deploy/open/production.env` 设置 `SPRING_DATA_MONGODB_URI` 指向外部实例(例如:`mongodb://host:27017/ainovel`)。
## 重要环境变量(节选)
- 端口与 JVM`SERVER_PORT``JVM_XMS``JVM_XMX`
- Mongodev 无认证):`SPRING_DATA_MONGODB_URI`(默认 `mongodb://mongo:27017/ainovel`
- 向量库Chroma默认关闭`VECTORSTORE_CHROMA_ENABLED=false`
- 开启:将其设为 `true` 并确保 `CHROMA_URL` 可达(如 `http://host.docker.internal:18000` 或独立容器地址)。
- JWT`JWT_SECRET`(务必改成强随机值)
- 存储:`STORAGE_PROVIDER`local/alioss…以及对应供应商参数
- 代理:`PROXY_ENABLED``PROXY_HOST``PROXY_PORT`
- 向量库:`CHROMA_URL`(如需)
- AI Key`OPENAI_API_KEY``GEMINI_API_KEY``ANTHROPIC_API_KEY`
> 注意:示例 env 仅用于演示,生产环境请务必替换为你自己的安全值。
## 日志与数据
- 应用日志挂载在 `deploy/open/logs`compose 中映射到容器 `/var/log/ainoval`)。
- MongoDB 数据保存在命名卷 `mongo-data` 中。
## 常见操作
- 查看日志:
```bash
docker compose -f deploy/open/docker-compose.yml logs -f ainoval
```
- 重启服务:
```bash
docker compose -f deploy/open/docker-compose.yml restart ainoval
```
- 停止并删除容器:
```bash
docker compose -f deploy/open/docker-compose.yml down
```
## 常见问题
- 无法访问页面:检查容器是否正常启动、端口是否被占用;或修改 `ports` 映射。
- 连接 Mongo 失败:检查 `MONGO_*` 变量,或确认外部 Mongo 地址/鉴权。
- 前端静态资源 404镜像内置静态目录 `/app/web/`,通过 JVM 参数 `-Dspring.web.resources.static-locations` 暴露;确保 `deploy/dist/web/` 在构建前已准备完整。
如有改进建议或问题反馈,欢迎提交 Issue