nex_docus/README_DOCKER.md

4.5 KiB
Raw Blame History

NEX Docus

现代化的文档管理系统

License Docker Python React

特性

  • 📝 Markdown 编辑器 - 强大的 Markdown 实时预览和编辑
  • 📁 项目管理 - 多项目支持,灵活的文件组织结构
  • 🔐 权限控制 - 基于 RBAC 的完善权限管理
  • 🔗 文档分享 - 支持密码保护的公开分享链接
  • 👥 协作功能 - 项目成员管理和协作编辑
  • 📱 响应式设计 - 完美支持桌面和移动端
  • 🐳 Docker 部署 - 一键容器化部署
  • 🚀 高性能 - 基于 FastAPI 和 React 构建

🏗️ 技术栈

后端

  • 框架: FastAPI (Python 3.9+)
  • 数据库: MySQL 8.0
  • 缓存: Redis 7
  • ORM: SQLAlchemy 2.0
  • 认证: JWT (python-jose)
  • 异步: Asyncio

前端

  • 框架: React 18 + Vite
  • UI: Ant Design 5
  • 路由: React Router 6
  • 状态管理: Zustand
  • Markdown: react-markdown + rehype
  • HTTP: Axios

📦 快速开始

使用 Docker 部署(推荐)

# 1. 克隆项目
git clone <your-repo-url>
cd "NEX Docus"

# 2. 配置环境变量
cp .env.example .env
vim .env  # 修改配置

# 3. 一键部署
./deploy.sh init

详细部署文档请查看 DEPLOY.md

本地开发

后端开发

cd backend

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 配置环境变量
cp .env.example .env
vim .env

# 初始化数据库
python scripts/init_db.py

# 启动服务
python main.py

后端服务将运行在 http://localhost:8000 API 文档: http://localhost:8000/docs

前端开发

cd forntend

# 安装依赖
npm install
# 或使用国内镜像
npm install --registry=https://registry.npmmirror.com

# 启动开发服务器
npm run dev

前端服务将运行在 http://localhost:5173

📖 文档

🔑 默认账号

首次部署后,系统会自动创建管理员账号:

  • 用户名: admin(可在 .env 中配置)
  • 密码: Admin@123456(可在 .env 中配置)

⚠️ 重要提示:请在首次登录后立即修改默认密码!

🛠️ 部署脚本

# 查看帮助
./deploy.sh help

# 初始化部署
./deploy.sh init

# 启动/停止/重启
./deploy.sh start|stop|restart

# 查看状态和日志
./deploy.sh status
./deploy.sh logs [服务名]

# 升级部署
./deploy.sh upgrade

# 数据库备份/恢复
./deploy.sh backup
./deploy.sh restore <backup_file>

📁 项目结构

NEX Docus/
├── backend/                # 后端服务
│   ├── app/
│   │   ├── api/           # API 路由
│   │   ├── core/          # 核心配置
│   │   ├── models/        # 数据模型
│   │   ├── schemas/       # Pydantic Schemas
│   │   └── services/      # 业务逻辑
│   ├── scripts/           # 脚本文件
│   ├── Dockerfile         # 后端镜像
│   └── requirements.txt   # Python 依赖
├── forntend/              # 前端应用
│   ├── src/
│   │   ├── api/          # API 请求
│   │   ├── components/   # 组件
│   │   ├── pages/        # 页面
│   │   ├── stores/       # 状态管理
│   │   └── utils/        # 工具函数
│   ├── Dockerfile        # 前端镜像
│   └── package.json      # npm 依赖
├── docker-compose.yml    # Docker 编排
├── deploy.sh            # 部署脚本
├── .env.example         # 环境变量示例
└── README.md            # 项目文档

🤝 贡献

欢迎提交 Issue 和 Pull Request

📄 开源协议

本项目采用 MIT 协议

🙏 致谢

感谢以下开源项目:


Made with ❤️ by NEX Docus Team