💡 欢迎提交 Issue 或 Pull Request!
# 1. 克隆项目
git clone https://github.com/xiamuceer-j/MuMuAINovel.git
cd MuMuAINovel
# 2. 配置环境变量(必需)
cp backend/.env.example .env
# 编辑 .env 文件,填入必要配置(API Key、数据库密码等)
# 3. 确保文件准备完整
# ⚠️ 重要:确保以下文件存在
# - .env(配置文件,必需挂载到容器)
# - backend/scripts/init_postgres.sql(数据库初始化脚本)
# 4. 启动服务
docker-compose up -d
# 5. 访问应用
# 打开浏览器访问 http://localhost:8000
📌 注意事项
.env文件挂载:docker-compose.yml会自动将.env挂载到容器,确保文件存在- 数据库初始化:
init_postgres.sql会在首次启动时自动执行,安装必要的PostgreSQL扩展- 自行构建: 如需从源码构建,请先下载 embedding 模型文件(加群获取)
# 1. 拉取最新镜像(已包含模型文件)
docker pull mumujie/mumuainovel:latest
# 2. 配置 .env 文件
cp backend/.env.example .env
# 编辑 .env 填入配置
# 3. 启动服务
docker-compose up -d
# 4. 查看日志
docker-compose logs -f
# 5. 更新到最新版本
docker-compose pull
docker-compose up -d
💡 提示: Docker Hub 镜像已包含所有依赖和模型文件,无需额外下载
# ⚠️ 重要:如果从源码构建,需要先下载 embedding 模型文件
# 模型文件较大(约 400MB),需放置到以下目录:
# backend/embedding/models--sentence-transformers--paraphrase-multilingual-MiniLM-L12-v2/
#
# 📥 获取方式:
# - 加入项目 QQ 群或 Linux DO 讨论区获取下载链接
# - 群号:见项目主页
# - Linux DO:https://linux.do/t/topic/1100112
cd backend
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
# 配置 .env 文件
cp .env.example .env
# 编辑 .env 填入必要配置
# 启动 PostgreSQL(可使用 Docker)
docker run -d --name postgres \
-e POSTGRES_PASSWORD=your_password \
-e POSTGRES_DB=mumuai_novel \
-p 5432:5432 \
postgres:18-alpine
# 启动后端
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
cd frontend
npm install
npm run dev # 开发模式
npm run build # 生产构建
创建 .env 文件:
# PostgreSQL 数据库(必需)
DATABASE_URL=postgresql+asyncpg://mumuai:your_password@postgres:5432/mumuai_novel
POSTGRES_PASSWORD=your_secure_password
# AI 服务(至少配置一个)
OPENAI_API_KEY=your_openai_key
OPENAI_BASE_URL=https://api.openai.com/v1
DEFAULT_AI_PROVIDER=openai
DEFAULT_MODEL=gpt-4o-mini
# 本地账户登录
LOCAL_AUTH_ENABLED=true
LOCAL_AUTH_USERNAME=admin
LOCAL_AUTH_PASSWORD=your_password
# Gemini
GEMINI_API_KEY=your_gemini_key
# Claude
ANTHROPIC_API_KEY=your_claude_key
# LinuxDO OAuth
LINUXDO_CLIENT_ID=your_client_id
LINUXDO_CLIENT_SECRET=your_client_secret
LINUXDO_REDIRECT_URI=http://localhost:8000/api/auth/callback
# PostgreSQL 连接池(高并发优化)
DATABASE_POOL_SIZE=30
DATABASE_MAX_OVERFLOW=20
支持所有 OpenAI 兼容格式的中转服务:
# New API 示例
OPENAI_API_KEY=sk-xxxxxxxx
OPENAI_BASE_URL=https://api.new-api.com/v1
# 其他中转服务
OPENAI_BASE_URL=https://your-proxy-service.com/v1
postgres: PostgreSQL 18 数据库
postgres_data volumebackend/scripts/init_postgres.sql(自动挂载)mumuainovel: 主应用服务
./logs.env 文件| 文件 | 说明 | 是否必需 |
|---|---|---|
.env | 环境配置(API Key、数据库密码等) | ✅ 必需 |
docker-compose.yml | 服务编排配置 | ✅ 必需 |
backend/scripts/init_postgres.sql | PostgreSQL 扩展安装脚本 | ✅ 自动挂载 |
backend/embedding/models--*/ | Embedding 模型文件 | ⚠️ 自建需要 |
注意: 使用 Docker Hub 镜像时,模型文件已包含在镜像中,无需额外下载
# 启动服务
docker-compose up -d
# 查看状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看资源使用
docker stats
./postgres_data - PostgreSQL 数据库文件./logs - 应用日志文件修改 docker-compose.yml 中的端口映射:
ports:
- "8800:8000" # 宿主机:容器
MuMuAINovel/ ├── backend/ # 后端服务 │ ├── app/ │ │ ├── api/ # API 路由 │ │ ├── models/ # 数据模型 │ │ ├── services/ # 业务逻辑 │ │ ├── middleware/ # 中间件 │ │ ├── database.py # 数据库连接 │ │ └── main.py # 应用入口 │ ├── scripts/ # 工具脚本 │ └── requirements.txt # Python 依赖 ├── frontend/ # 前端应用 │ ├── src/ │ │ ├── pages/ # 页面组件 │ │ ├── components/ # 通用组件 │ │ ├── services/ # API 服务 │ │ └── store/ # 状态管理 │ └── package.json ├── docker-compose.yml # Docker Compose 配置 ├── Dockerfile # Docker 镜像构建 └── README.md
后端: FastAPI • PostgreSQL • SQLAlchemy • OpenAI/Claude/Gemini SDK
前端: React 18 • TypeScript • Ant Design • Zustand • Vite
http://localhost:8000/docshttp://localhost:8000/redoc欢迎提交 Issue 和 Pull Request!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 GNU General Public License v3.0
GPL v3 意味着:
如果这个项目对你有帮助,请给个 ⭐️ Star!
Made with ❤️