On this page
You built the Arr stack, deployed it with Docker, and automated the pipeline. Movies and shows land in your library on their own — but half of them arrive with no subtitles, or the wrong language, and you’re back to hunting for a .srt on some sketchy site at 11pm. Bazarr is the piece that closes that gap: it watches the exact same libraries Radarr and Sonarr manage and fetches matching subtitles automatically, in whatever languages you ask for.
It’s the one *arr companion almost everyone ends up adding. Below is the full deploy and the two settings that decide whether subtitles actually show up.
Commands below use placeholder values — swap in yours before running:
<host-ip>— the LAN IP of the machine running your stack (e.g.192.168.1.50)TZ=America/New_York— your own timezonePUID/PGID(1000here) — must match the user that owns your media files- Service ports (
7878Radarr,8989Sonarr) — change only if you moved them off the defaults YOUR_RADARR_API_KEY/YOUR_SONARR_API_KEY— copied from each app, kept in your secret store, never pasted into a note
Rule of thumb: if a value looks specific to one machine, it’s a placeholder to change — not a literal to copy.
What Bazarr actually does
Bazarr doesn’t download video and it doesn’t talk to your media server. It plugs into Radarr and Sonarr, reads the libraries they already track, and for each item works out which subtitle languages are missing and goes and gets them:
- Watch — Bazarr connects to Radarr and Sonarr over their APIs and mirrors their lists, so it always knows exactly what’s in your library and what languages each item has.
- Search — for anything missing a subtitle in a wanted language, it queries the subtitle providers you’ve enabled (OpenSubtitles and many others).
- Score & pick — each candidate gets a match score (release name, hearing-impaired flag, sync); Bazarr takes the best one above your threshold.
- Write — it saves a standard subtitle file next to the video, so Plex or Jellyfin show it as a selectable track with no extra config.
Bazarr is a peer of the video apps, not a replacement. It shares their media folders and reads their libraries, but it only ever manages subtitles. If Radarr and Sonarr aren’t running and reachable, Bazarr has nothing to watch.
Task 1: Deploy the container
Run Bazarr wherever the rest of your stack lives — the same Docker-on-Proxmox LXC or VM, your NAS, or a dedicated box. The one rule that matters: it must mount the same media root as Radarr and Sonarr, at the same path, or it can’t find the videos to caption.
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
ports:
- "6767:6767"
volumes:
- ./bazarr/config:/config
- /data:/data
restart: unless-stopped
The /data:/data mount is the important line — it has to be the identical mount Radarr and Sonarr use, so a file at /data/media/movies/Film.mkv is the same path in every container.
docker compose up -d bazarr
docker compose logs -f bazarr
Then browse to http://<host-ip>:6767 to reach the web UI.
Task 2: Connect Radarr and Sonarr — the part that matters
Under Settings → Sonarr and Settings → Radarr, point Bazarr at each app. This is where most setups stall: if the paths don’t line up, Bazarr sees the library but can’t write subtitles next to the files.
Enter each app’s address (http://<host-ip>:7878 for Radarr, http://<host-ip>:8989 for Sonarr) and its API key (in each app under Settings → General, shown here as YOUR_RADARR_API_KEY / YOUR_SONARR_API_KEY). Test each connection until it’s green.
If Bazarr and the Arr apps mount the library at different paths, add a path mapping so Bazarr can translate one to the other. The clean fix is to avoid it entirely by mounting /data identically everywhere — then no mapping is needed. The official Bazarr setup guide covers the mapping fields if you can’t.
The number-one reason Bazarr finds subtitles but never saves them is a path or permission mismatch. Mount the media root at the identical path across Radarr, Sonarr, and Bazarr, and give all three the same PUID/PGID so Bazarr can write a .srt into the same folder the video lives in.
Task 3: Choose languages and providers
Under Settings → Languages, create a languages profile listing the subtitle languages you want and their priority, then set it as the default for movies and series. Bazarr only ever chases languages in an item’s profile — leave one out and it won’t look for it.
Then, under Settings → Providers, enable at least one provider and sign in. OpenSubtitles is the common starting point; its free tier works but caps daily downloads, so a large library benefits from a paid account.
Bazarr scores every candidate on how well it matches the release. Too low and you get out-of-sync junk; too high and nothing qualifies. Start near Bazarr’s defaults and only adjust if you’re getting bad syncs (raise it) or empty results (lower it).
Task 4: Backfill the library, then let it run
New downloads get subtitled automatically as they arrive. For everything already on disk, kick off a one-time sweep, then let the scheduler keep up.
On the Series and Movies pages, select everything and trigger a search for wanted subtitles. On a big library this takes a while and may hit provider daily limits — it’ll resume on the next scheduled run.
Under Settings → Scheduler, Bazarr runs periodic “search for missing” and “upgrade” jobs. Leave these on — new items get captioned without you lifting a finger, and better matches replace weak ones over time.
What’s next
With Bazarr in place, the media pipeline is one step closer to genuinely hands-off: a title is requested, Radarr or Sonarr grabs it, and Bazarr quietly drops matching subtitles beside it before anyone hits play. The remaining gap in the *arr family for most households is music — Lidarr does for your music library exactly what Sonarr does for TV.
And once the whole stack is this automated, the thing worth adding is a way to know it’s healthy even when nobody’s watching — the self-healing Arr stack covers the failure mode where a piece silently stops.
Related posts:
- What Is the Arr Stack? Sonarr, Radarr, and Prowlarr Explained — the stack Bazarr plugs into
- Deploy the Arr Stack with Docker Compose — the containers Bazarr sits beside
- Automating the Arr Stack — the download pipeline that fills the library Bazarr captions
- Lidarr: Automate Your Music Library Like Sonarr — the same idea for music
- Jellyseerr: Let Your Family Request Movies Themselves — the request front end for the same stack
- Install Plex Media Server on a NAS or Proxmox LXC — reads the subtitles Bazarr writes
- Install Jellyfin on a NAS or Proxmox LXC — the open-source server, same sidecar subtitles
Comments
Comments are powered by GitHub Discussions — sign in with a GitHub account to join the conversation.