da068663602cd07edc903e1ee5546d229fbd4cd4
阿里云 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(推荐)
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。
方式二:源码运行
# 安装依赖
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 子用户,并授予最小权限:
{
"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。请确保:
- 代码通过
npm run lint - 核心逻辑补充测试
- 提交信息清晰说明改动
License
Languages
Swift
100%