这个项目能做什么
PersonalMediaVault 是一款自托管 Web 应用,用于在加密存储库中存储视频、音频和图片,并通过浏览器进行查看。
存储与访问模型
存储库使用用户密码加密,并作为文件保存在数据文件夹中,因此可以通过复制该文件夹(例如使用 rsync)进行备份;项目包含专门的备份工具。媒体资产可通过相册和索引标签进行组织,并支持按标签搜索。Web 界面允许从多种设备和操作系统访问,无需额外安装客户端。
媒体处理
上传的媒体会被编码为多种格式,以便在不同浏览器中播放;视频和图片还可以调整尺寸以生成多种分辨率。系统会为视频和图片生成默认缩略图,稍后可更改。项目列出的其他功能包括:视频和音频的 SubRip 字幕、每个视频的多音轨(例如多语言音频)、时间轴悬停预览、用于导航长视频的时间轴切片、图像注释,以及用于在存储库中保留额外文件(如原始预编码媒体)的附件。
语义搜索
可选的语义搜索功能使用开源嵌入模型(ONNX 格式的 OpenCLIP),由内部语义搜索引擎服务器运行,支持配置模型路径和图像大小限制。
部署选项
- 容器:镜像发布在 Docker Hub (asanrom/pmv) 和 GitHub Packages 上,并提供 docker-compose 文件和 .env 示例。配置包括端口、存储库路径、缓存大小、可选的 SSL 密钥/证书、反向代理模式、初始用户凭据、额外的守护进程标志和语义搜索设置。
- 安装包:Windows 的 MSI,Debian/Ubuntu 的 DEB(也有 PPA),Fedora 的 RPM,Arch 的 pkg.tar.zst,以及带有安装脚本的通用 tar.gz。安装包提供 CLI 启动器(`pmv /path/to/vault`),并在桌面系统上提供图形化启动器;Windows 安装包添加了“用 PersonalMediaVault 打开”文件夹上下文菜单,KDE 服务菜单文件可在 Linux 上添加类似条目。
项目组件
仓库分为管理存储库、编码和存储媒体并暴露 HTTP API 的后端;前端 Web 界面;备份工具;CLI 和 GUI 启动器;语义搜索引擎;以及安装打包。
动机与许可证
其目标是提供一款具有类似 YouTube Web 界面的媒体管理工具,同时保持文件在磁盘上加密,使得扫描文件系统的恶意软件难以读取它们,并且云备份不会将媒体暴露给存储提供商。该项目采用 MIT 许可证发布。
评论
0 评分人数达到10人后显示
登录后参与讨论。