About this project

PersonalMediaVault is a self-hosted web application for storing videos, audio and pictures in an encrypted vault and viewing them from a browser. Storage and access model The vault is encrypted using the user's password and kept as files in a data folder, so backups can be made by copying the folder (for example with rsync); a dedicated backup tool is included. Media assets can be organised with albums and indexed tags, and searched by tag. A web interface allows access from multiple devices and operating systems without extra client installation. Media handling Uploaded media is encoded into multiple formats so it can play in different browsers; videos and pictures can also be resized into several resolutions. A default thumbnail is generated for videos and images and can be changed later. Additional capabilities listed by the project include SubRip subtitles for videos and audio, multiple audio tracks per video (for example multi-language audio), timeline hover previews, timeline slices for navigating long videos, image annotations, and attachments for preserving extra files such as the raw pre-encoding media inside the vault. Semantic search An optional semantic search feature uses an open-source embeddings model (OpenCLIP, in ONNX form) run by an internal semantic search engine server, with configurable model path and image size limit. Deployment options - Container: images are published on Docker Hub (asanrom/pmv) and GitHub Packages, with a provided docker-compose file and .env example. Configuration includes port, vault path, cache size, optional SSL key/certificate, reverse-proxy mode, initial user credentials, extra daemon flags and semantic search settings. - Installation packages: MSI for Windows, DEB for Debian/Ubuntu (also a PPA), RPM for Fedora, pkg.tar.zst for Arch, and a generic tar.gz with an install script. Packages provide a CLI launcher (`pmv /path/to/vault`) and, on desktop systems, a graphical launcher; the Windows package adds an "Open with PersonalMediaVault" folder context menu, and a KDE service-menu file can add similar entries on Linux. Project components The repository is split into a backend that manages the vault, encodes and stores media and exposes an HTTP API; a frontend web interface; a backup tool; CLI and GUI launchers; the semantic search engine; and installation packaging. Motivation and license The stated goal is a media management tool with a YouTube-like web interface while keeping files encrypted on disk, so that malware scanning the file system cannot easily read them and cloud backups do not expose the media to the storage provider. The project is released under the MIT License.