A self-hosted Content Management System for your videos. 🎞️
- 🏠 Self-host: Host VideoCMS using Docker on your own hardware.
- ✍️ Pretty Subtitles: Subtitles are stored as softsubs in the ASS format to preserve styling and save storage.
- ⚡ HLS Multi-Quality: Videos are converted into multiple qualities to ensure smooth playback for different connection speeds.
- 🔊 Multi-Audio: The player supports multiple audio tracks that are not stored inside the video, saving storage space.
- 🚀 Fast Chunked Upload: Allows the server to be behind a proxy without requiring high maximum post limits.
- 📦 Configurable Downloads: Viewers can choose a ready quality and download MP4 with one audio track, or MKV with selectable audio and subtitle tracks. The server assembles the result without re-encoding.
- 🗄️ Storage Pools: Keep local storage as the default or route new uploads across S3-compatible buckets and SFTP folders from the admin UI.
Follow the documentation to setup VideoCMS: https://videocms-docs.vercel.app/
Storage mounts, pool routing, upgrade behavior, and reconnecting migrated storage are described in the storage guide.
Monitoring, canceling, retrying, and troubleshooting background work are described in the background-jobs guide.
make docker-buildInitialize the frontend and documentation submodules, then start the complete development stack:
git submodule update --init --recursive
make devNuxt is available at http://127.0.0.1:3000 and proxies /api and the backend-owned media routes to the hot-reloading Go server on port 3001. Stopping either process shuts down the other one cleanly.
Published images are available from:
ghcr.io/kirari04/videocmskirari04/videocms
Available tags:
latestbetastagingvX.Y.Z






