Download from Jable.tv and scrape local videos with Web UI
2.5K
Download from Jable.tv & scrape local video libraries with a Web UI
Frontend (React / Vite)
↓ REST /api/* + WebSocket /ws
API Layer (FastAPI)
↓
Managers (Download / Scrape / Subscription)
↓
Core Library
├── Downloader → JableExtractor → HLS
├── Scraper → Crawlers (JavDB, JavBus, DMM, ...) → NFO Writer
└── Utils (config, history, network, browser, translate)
docker run -d \
--name mr-banana \
-p 8000:8000 \
-v /your/config:/config \
-v /your/media:/data \
-e ALLOWED_BROWSE_ROOTS="/data" \
cailurus/mr-banana:latest
Open http://localhost:8000 in your browser.
| Container Path | Description | Example Host Path |
|---|---|---|
/config | Config, database, logs (persisted across updates) | /volume/mrbanana/config |
/data | Media files (videos, downloads) | /volume/data |
Files stored in /config:
config.json — Application settingsmr_banana_subscription.db — Subscription databaselogs/ — Application logsservices:
mr-banana:
image: cailurus/mr-banana:latest
container_name: mr-banana
ports:
- "8000:8000"
volumes:
- /your/config:/config
- /your/media:/data
environment:
- ALLOWED_BROWSE_ROOTS=/data
restart: unless-stopped
patchright install chromium on first run)git clone https://github.com/cailurus/MrBanana.git
cd MrBanana
python3 -m venv .venv && source .venv/bin/activate
make py-install # Install Python dependencies
make web-install # Install Node dependencies
make dev # FastAPI :8000 + Vite :5173 with hot reload
make test # Run tests
make test-quick # Run tests (quiet output)
make fe # Build frontend → ./static
make serve # FastAPI serves ./static on :8000
python -m mr_banana.cli --url <VIDEO_URL> --output_dir <OUT_DIR>
| Flag | Description |
|---|---|
--url | Jable.tv video URL (required) |
--output_dir | Output folder |
--format | Filename format — supports {id} and {title} |
-v | Verbose logging |
Supported sites:
| Name | Description | Default |
|---|---|---|
LOG_LEVEL | Log level | INFO |
MR_BANANA_LOG_LEVEL | Override log level | INFO |
MR_BANANA_CONFIG_DIR | Config directory | /config (Docker) |
ALLOWED_BROWSE_ROOTS | Directories browsable in Web UI | /data |
CORS_ORIGINS | CORS allowed origins | * |
Content type
Image
Digest
sha256:3189f3762…
Size
351.3 MB
Last updated
7 months ago
docker pull cailurus/mr-banana