Files
sillytavern-repalice/DISTRIBUTION-CHECKLIST.md
2026-04-26 03:34:47 +08:00

316 lines
6.6 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.
# 📦 项目分发清单
## ✅ 已完成配置
### 1. Docker 配置
-`docker-compose.yml` - 开发/生产通用配置
-`docker-compose.prod.yml` - 生产环境配置(使用预构建镜像)
-`docker/backend.Dockerfile` - 后端镜像构建
-`docker/frontend.Dockerfile` - 前端镜像构建Nginx
-`.dockerignore` - 优化构建速度
### 2. npm 配置(中国大陆优化)
-`server/.npmrc` - 后端 npm 镜像源
-`client/.npmrc` - 前端 npm 镜像源
- ✅ 自动 fallback 机制(阿里云 → 腾讯云 → 华为云)
### 3. 构建脚本
-`build-docker.ps1` - PowerShell 构建脚本
-`build-docker.bat` - CMD 构建脚本
-`build-docker.sh` - Linux/Mac 构建脚本
-`publish-docker.bat` - Docker Hub 发布脚本
### 4. 开发工具
-`start-dev.ps1` - 本地开发启动脚本
-`start-dev.bat` - CMD 开发启动脚本
-`switch-npm-mirror.bat` - 切换 npm 镜像源
-`test-npm-registry.bat` - 测试 npm 连接
### 5. 文档
-`README.md` - 项目介绍
-`USER-GUIDE.md` - 用户快速开始指南
-`DISTRIBUTION-GUIDE.md` - 分发指南
-`DISTRIBUTION-STRATEGY.md` - 分发策略详解
-`TROUBLESHOOTING.md` - 故障排除
-`LOCAL-DEV-GUIDE.md` - 本地开发指南
-`DOCKER-BUILD-GUIDE.md` - Docker 构建指南
---
## 🎯 分发方式选择
### 方式 1GitHub 仓库(推荐用于开源)
**包含文件:**
```
sillytavern-repalice/
├── docker/
│ ├── backend.Dockerfile
│ └── frontend.Dockerfile
├── server/ # 后端源码
├── client/ # 前端源码
├── shared/ # 共享模块
├── docker-compose.yml
├── .env.example
├── .dockerignore
├── package.json
├── USER-GUIDE.md # ⭐ 用户必读
├── README.md
└── ...其他配置文件
```
**用户操作:**
```bash
git clone <repo-url>
cd sillytavern-repalice
cp .env.example .env
# 编辑 .env
docker-compose up -d
```
**优点:**
- ✅ 完全透明
- ✅ 用户可以自定义
- ✅ 便于协作开发
---
### 方式 2Docker Hub推荐用于正式发布
**步骤 1推送镜像到 Docker Hub**
```bash
# 登录
docker login
# 运行发布脚本
.\publish-docker.bat
# 输入版本号例如1.0.0
```
**步骤 2提供给用户的文件**
创建简化的分发包:
```
sillytavern-repalice-release/
├── docker-compose.prod.yml # 重命名为 docker-compose.yml
├── .env.example
├── USER-GUIDE.md # ⭐ 用户必读
└── README.md
```
修改 `docker-compose.prod.yml` 中的镜像地址:
```yaml
services:
backend:
image: yourusername/sillytavern-repalice-backend:latest
frontend:
image: yourusername/sillytavern-repalice-frontend:latest
```
**用户操作:**
```bash
# 下载分发包
# 解压
cp .env.example .env
# 编辑 .env
docker-compose up -d
```
**优点:**
- ✅ 启动速度快(无需构建)
- ✅ 用户操作简单
- ✅ 版本管理清晰
---
### 方式 3离线镜像内网环境
**步骤 1导出镜像**
```bash
# 构建
docker-compose build
# 导出
docker save sillytavern-repalice-backend:latest -o backend.tar
docker save sillytavern-repalice-frontend:latest -o frontend.tar
# 压缩
tar -czf sillytavern-images.tar.gz backend.tar frontend.tar
```
**步骤 2提供文件**
```
sillytavern-offline/
├── sillytavern-images.tar.gz
├── docker-compose.yml
├── .env.example
├── USER-GUIDE.md
└── import-images.bat/psh # 导入脚本
```
**用户操作:**
```bash
# 解压镜像
tar -xzf sillytavern-images.tar.gz
# 导入
docker load -i backend.tar
docker load -i frontend.tar
# 配置
cp .env.example .env
# 启动
docker-compose up -d
```
---
## 📋 分发前检查清单
### 代码检查
- [ ] 所有功能测试通过
- [ ] 没有硬编码的敏感信息
- [ ] `.env``.gitignore`
- [ ] `node_modules``.dockerignore`
### Docker 检查
- [ ] `docker-compose up -d` 能正常启动
- [ ] 前后端都能正常访问
- [ ] 数据持久化正常工作
- [ ] 日志输出清晰
### 文档检查
- [ ] `USER-GUIDE.md` 完整准确
- [ ] `.env.example` 包含所有必要配置
- [ ] README 指向正确的文档
- [ ] 常见问题已覆盖
### 镜像检查(如使用 Docker Hub
- [ ] 镜像可以成功推送
- [ ] 镜像可以从 Docker Hub 拉取
- [ ] 版本号标签正确
- [ ] `latest` 标签指向最新版本
---
## 🚀 快速分发流程
### 对于开发者
```bash
# 1. 确保代码最新
git add .
git commit -m "Release version 1.0.0"
git push
# 2. 构建并推送镜像(可选)
.\publish-docker.bat
# 输入1.0.0
# 3. 创建 Release Tag
git tag v1.0.0
git push origin v1.0.0
```
### 对于用户
**从 GitHub**
```bash
git clone https://github.com/yourusername/sillytavern-repalice.git
cd sillytavern-repalice
cp .env.example .env
# 编辑 .env
docker-compose up -d
```
**从 Docker Hub**
```bash
# 下载 docker-compose.prod.yml 和 .env.example
# 重命名 docker-compose.prod.yml 为 docker-compose.yml
cp .env.example .env
# 编辑 .env
docker-compose up -d
```
---
## 📊 方案对比
| 特性 | GitHub | Docker Hub | 离线镜像 |
|------|--------|------------|----------|
| 设置难度 | ⭐ | ⭐⭐ | ⭐⭐⭐ |
| 启动速度 | 🐌 慢 | ⚡ 快 | ⚡ 快 |
| 文件大小 | 🟢 小 | 🟡 中 | 🔴 大 |
| 可定制性 | ✅ 高 | ❌ 低 | ❌ 低 |
| 适用场景 | 开源/开发 | 正式发布 | 内网 |
---
## 💡 最佳实践建议
### 1. 同时提供多种方式
- GitHub 仓库(主要)
- Docker Hub 镜像(可选)
- 离线包(按需)
### 2. 文档优先
- `USER-GUIDE.md` 必须清晰简洁
- 提供截图或视频教程
- 常见问题单独列出
### 3. 简化用户操作
- 提供一键启动脚本
- 默认配置尽可能合理
- 错误提示友好清晰
### 4. 版本管理
- 使用语义化版本号
- CHANGELOG 记录变更
- 保持向后兼容
---
## 🎯 推荐方案
**对于大多数项目,推荐组合使用:**
1. **主要分发**GitHub 仓库
- 完整源码
- 详细文档
- 适合开发和定制
2. **快速部署**Docker Hub 镜像
- 一键启动
- 适合生产环境
- 定期更新
3. **特殊需求**:离线镜像
- 内网部署
- 安全要求高的环境
---
## 📞 用户支持
提供以下支持渠道:
- 📖 完整文档USER-GUIDE.md
- 🐛 Issue 追踪
- 💬 讨论区
- 📧 联系方式
---
**祝您分发顺利!** 🎉
如有问题,请参考:
- [用户指南](USER-GUIDE.md)
- [故障排除](TROUBLESHOOTING.md)
- [分发策略](DISTRIBUTION-STRATEGY.md)