VibraVid

VibraVid

Docker app from Yusseiin's Repository

Overview

VibraVid - Web UI for managing video downloads. IMPORTANT: run the one-time setup script BELOW before first start, otherwise the container will crash. The Django source code and the SQLite database share the same directory in the upstream image (/app/GUI), so we cannot bind-mount that directory - we bind-mount only the db.sqlite3 file. The Conf directory holds only data files and is mounted normally. ONE-TIME SETUP (run on Unraid CLI before first start): mkdir -p /mnt/user/appdata/vibravid/Conf /mnt/user/appdata/vibravid/logs /mnt/user/downloads/vibravid docker pull ghcr.io/astraelabs/vibravid:latest docker create --name vv-seed ghcr.io/astraelabs/vibravid:latest docker cp vv-seed:/app/Conf/config.json /mnt/user/appdata/vibravid/Conf/config.json docker cp vv-seed:/app/Conf/login.json /mnt/user/appdata/vibravid/Conf/login.json docker rm vv-seed touch /mnt/user/appdata/vibravid/db.sqlite3 chown -R 1000:1000 /mnt/user/appdata/vibravid /mnt/user/downloads/vibravid CAVEAT: SQLite writes a transient journal file alongside db.sqlite3 during transactions. Because only the .sqlite3 file is bind-mounted (not its parent dir), the journal lives in the container's ephemeral layer. A hard kill mid-write could in theory leave the database in an inconsistent state. Avoid "Force Stop" and back up /mnt/user/appdata/vibravid/db.sqlite3 periodically. BACKUPS: cp /mnt/user/appdata/vibravid/db.sqlite3 /mnt/user/backups/vibravid-db-$(date +%F).sqlite3

VibraVid

Windows macOS Linux


Quick Start

git clone https://github.com/AstraeLabs/VibraVid.git
cd VibraVid
pip install -r requirements.txt
python manual.py

Full installation options (Unraid, Android/Termux, uv), updating, and CLI usage are covered in the Installation guide and CLI usage guide.


Documentation

πŸ“š Full docs (with search) on the documentation site.

Topic
βš™οΈ Configuration config.json reference β€” DEFAULT, OUTPUT, DOWNLOAD (stream selection filters), PROCESS, REQUESTS, DRM
πŸ’» CLI Usage Search, series selection, year filter, track overrides, proxy, direct URL download, download queue
🌐 Web GUI Django-based browser interface
⌨️ TUI Terminal user interface (Textual)
πŸ€– Telegram Bot Trigger downloads from chat
πŸ”— ARR Integration Seerr/Jellyseerr, Sonarr, Radarr automation
πŸͺ Hook System Run custom scripts on download lifecycle events
🐳 Docker Compose, custom ports/paths, private network deployment
πŸ–₯️ NAS Deployment Synology, TrueNAS, Unraid
πŸ”‘ Login Guide Authentication for supported services

Related Projects

  • MammaMia β€” Stremio addon for Italian streaming (by UrloMythus)
  • Unit3Dup β€” Torrent automation for Unit3D tracker (by 31December99)
  • N_m3u8DL-RE β€” Universal downloader for HLS/DASH/ISM (by nilaoda)
  • pywidevine β€” Widevine L3 decryption library (by devine-dl)
  • pyplayready β€” PlayReady decryption library (by ready-dl)

Disclaimer

This software is for educational and research purposes only. The authors:

  • DO NOT assume responsibility for illegal use
  • DO NOT provide or facilitate DRM circumvention tools, CDMs, or decryption keys
  • DO NOT endorse piracy or copyright infringement

By using this software, you agree to comply with all applicable laws and confirm you have rights to any content you process. No warranty is provided.


Made with ❀️ for streaming lovers

If you find this project useful, consider starring it! ⭐

Install VibraVid on Unraid in a few clicks.

Find VibraVid in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for VibraVid Review the template variables and paths Click Install

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/astraelabs/vibravid:latest
Last Updated2026-08-31
First Seen2026-05-10

Runtime arguments

Web UI
http://[IP]:[PORT:8000]
Network
bridge
Shell
bash
Privileged
false

Template configuration

WebUI PortPorttcp

HTTP port for the VibraVid web interface.

Target
8000
Default
8000
Value
8000
DownloadsPathrw

Where downloaded videos are stored.

Target
/app/Video
Default
/mnt/user/downloads/vibravid
Value
/mnt/user/downloads/vibravid
Config dirPathrw

Holds config.json and login.json. Must be pre-seeded by the one-time setup script (see Overview).

Target
/app/Conf
Default
/mnt/user/appdata/vibravid/Conf
Value
/mnt/user/appdata/vibravid/Conf
Database filePathrw

SQLite database FILE (not a directory). Must exist on the host before first start - the setup script touches an empty file that Django will populate via migrate.

Target
/app/GUI/db.sqlite3
Default
/mnt/user/appdata/vibravid/db.sqlite3
Value
/mnt/user/appdata/vibravid/db.sqlite3
LogsPathrw

Application logs.

Target
/app/logs
Default
/mnt/user/appdata/vibravid/logs
Value
/mnt/user/appdata/vibravid/logs
Django Secret KeyVariable

Secret key for Django sessions/CSRF. CHANGE this to a long random string before exposing the app.

Target
DJANGO_SECRET_KEY
Value
change-me-to-a-secure-key
Allowed HostsVariable

Comma-separated hostnames/IPs allowed to reach the app. Add your Unraid IP, e.g. localhost,127.0.0.1,192.168.1.50

Target
ALLOWED_HOSTS
Default
localhost,127.0.0.1
Value
localhost,127.0.0.1
CSRF Trusted OriginsVariable

Comma-separated origins trusted for CSRF. Must include the exact scheme://host:port you use to reach the WebUI.

Target
CSRF_TRUSTED_ORIGINS
Default
http://localhost:8000,http://127.0.0.1:8000
Value
http://localhost:8000,http://127.0.0.1:8000
Django DebugVariable

Enable Django debug mode. Leave false for normal use.

Target
DJANGO_DEBUG
Default
false
Value
false
Watchlist Auto-Download IntervalVariable

Optional. Interval in seconds between watchlist auto-downloads (e.g. 14400 for 4 hours). Leave blank to disable.

Target
WATCHLIST_AUTO_INTERVAL_SECONDS