Comparison
Bazarr+ vs Upstream Bazarr
Features requested for years, ignored or rejected upstream. Bazarr+ ships them all.
| Feature | Upstream Bazarr | Bazarr+ |
|---|---|---|
| Provider Priority | Requested (62 votes) | Priority order with early stop |
| OpenSubtitles.org | Self-hosted scraper | |
| AI Translation | Any OpenRouter model (free tiers available) | |
| Mass Sync | Requested (249 votes) | Bulk sync from Tasks page |
| Bulk Operations | One at a time | 11 batch actions (up to 10k items) |
| Subtitle Editor | Full editor with video, waveform, AI | |
| Telemetry | GA4 + UA to Google | Removed entirely |
| Password Security | MD5 | PBKDF2 (600k iterations) |
Screenshots
See it in action
Quick Start
Up and running in under a minute
One command to install everything, or copy the compose file below.
curl -fsSL https://lavx.github.io/bazarr/install.sh | bash
Want to inspect first? View the script source.
services:
bazarr:
image: ghcr.io/lavx/bazarr:latest
container_name: bazarr
restart: unless-stopped
depends_on:
opensubtitles-scraper:
condition: service_healthy
ports:
- 6767:6767
environment:
- PUID=1000
- PGID=1000
- TZ=UTC
- OPENSUBTITLES_SCRAPER_URL=http://opensubtitles-scraper:8000
volumes:
- ./config:/config
- /path/to/movies:/movies
- /path/to/tv:/tv
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:6767/_supervisor/status | grep -q '\"running\"'"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
opensubtitles-scraper:
image: ghcr.io/lavx/opensubtitles-scraper:latest
container_name: opensubtitles-scraper
restart: unless-stopped
depends_on:
flaresolverr:
condition: service_healthy
ports:
- 8000:8000
environment:
- FLARESOLVERR_URL=http://flaresolverr:8191/v1
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Handles Cloudflare challenges for the scraper
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
restart: unless-stopped
environment:
- LOG_LEVEL=info
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8191/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# AI translation via OpenRouter (free tiers available)
# Configure the API key in Settings > AI Translator
ai-subtitle-translator:
image: ghcr.io/lavx/ai-subtitle-translator:latest
container_name: ai-subtitle-translator
restart: unless-stopped
ports:
- 8765:8765
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8765/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
For environment variables, volume mappings, and Sonarr/Radarr setup, see the Getting Started guide.
config directory, swap the container image, and start. Settings, history, and provider accounts carry over.
FAQ