docs: 初始化项目文档(PRD、AGENTS、MEMORY、README)
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
# 阿里云 VOD 媒体库管理器
|
||||
|
||||
一个**轻量、开源、可自托管**的阿里云视频点播(VOD)媒体资源管理后台,解决官方控制台操作繁琐、批量处理能力弱的问题。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 视频库快速查看、搜索、筛选(标题、分类、标签、状态、时间)
|
||||
- 批量获取视频播放/下载地址,支持选择清晰度
|
||||
- 批量删除视频
|
||||
- 多账号/多 Region 切换管理
|
||||
- 内置登录与角色控制(管理员 / 只读)
|
||||
- 操作日志审计
|
||||
- 单 Docker 镜像一键部署
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **前端**:React 18 + TypeScript + Vite + Ant Design 5 + Zustand
|
||||
- **后端**:Node.js 20 + Express + TypeScript + SQLite
|
||||
- **阿里云 SDK**:`@alicloud/pop-core`
|
||||
- **部署**:Docker + Docker Compose
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 方式一:Docker Compose(推荐)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-org/Aliyun-VOD-Media-Library-Manager.git
|
||||
cd Aliyun-VOD-Media-Library-Manager/docker
|
||||
cp .env.example .env
|
||||
# 编辑 .env,设置 JWT_SECRET 等
|
||||
sudo docker-compose up -d
|
||||
```
|
||||
|
||||
访问 http://localhost:3001,默认账号密码 `admin` / `admin`。
|
||||
|
||||
### 方式二:源码运行
|
||||
|
||||
```bash
|
||||
# 安装依赖
|
||||
npm install
|
||||
|
||||
# 启动后端(端口 3001)
|
||||
npm run dev -w apps/server
|
||||
|
||||
# 新终端启动前端(端口 5173)
|
||||
npm run dev -w apps/web
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
关键环境变量:
|
||||
|
||||
| 变量 | 说明 | 默认值 |
|
||||
| --- | --- | --- |
|
||||
| `JWT_SECRET` | JWT 签名密钥,生产环境必须修改 | `vod-manager-dev-secret-change-me` |
|
||||
| `APP_ENCRYPTION_KEY` | AccessKey Secret 加密密钥 | 空(明文存储,会告警) |
|
||||
| `DEFAULT_ADMIN_USERNAME` | 默认管理员账号 | `admin` |
|
||||
| `DEFAULT_ADMIN_PASSWORD` | 默认管理员密码 | `admin` |
|
||||
| `DB_PATH` | SQLite 数据库路径 | `./data/vod-manager.db` |
|
||||
|
||||
## 阿里云 RAM 最小权限
|
||||
|
||||
建议为本工具单独创建 RAM 子用户,并授予最小权限:
|
||||
|
||||
```json
|
||||
{
|
||||
"Version": "1",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"vod:Get*",
|
||||
"vod:List*",
|
||||
"vod:SearchMedia",
|
||||
"vod:GetPlayInfo",
|
||||
"vod:DeleteVideo",
|
||||
"vod:UpdateVideoInfo"
|
||||
],
|
||||
"Resource": "*"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
如果只需要只读能力,请移除 `DeleteVideo` 和 `UpdateVideoInfo`。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
.
|
||||
├── apps/
|
||||
│ ├── web/ # React 前端
|
||||
│ └── server/ # Express 后端 + SQLite
|
||||
├── docker/
|
||||
│ ├── Dockerfile
|
||||
│ └── docker-compose.yml
|
||||
├── docs/ # 部署与使用文档
|
||||
├── PRD.md # 产品需求文档
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 贡献指南
|
||||
|
||||
欢迎 Issue 和 Pull Request。请确保:
|
||||
|
||||
1. 代码通过 `npm run lint`
|
||||
2. 核心逻辑补充测试
|
||||
3. 提交信息清晰说明改动
|
||||
|
||||
## License
|
||||
|
||||
[MIT](./LICENSE)
|
||||
Reference in New Issue
Block a user