How to Set Up Bazarr on Linux with Docker for Automated Subtitles in Sonarr and Radarr
If you’re running a home media server, you’ve probably used Radarr and Sonarr to automate your movie and TV libraries. But keeping reliable, well-synced subtitles (in just the languages you care about) can still turn into a manual chase. That’s where Bazarr comes in, it watches your Radarr/Sonarr imports and automatically fetches matching subtitles from trusted providers (like OpenSubtitles), dropping clean .srt files right beside your media in your preferred languages.
This guide assumes you already have a media stack (e.g., Sonarr/Radarr + Docker) up and running. We’ll use Docker Compose to deploy Bazarr and walk through a simple, rock-solid config so subtitle automation “just works.”
📑 Table of Contents
- 🤔 What is Bazarr?
- 🛠️ Docker Compose: config setup
- 🔗 Setting up Bazarr with Sonarr and Radarr
- 🌍 Setting up Subtitle Languages & Profiles
- 📥 Setting up Subtitle Providers
- ✅ Final Thoughts
🤔 What is Bazarr?
Bazarr is a companion app for Sonarr and Radarr that takes care of subtitles automatically. Where Sonarr and Radarr handle grabbing and organizing your TV shows and movies, Bazarr watches those libraries and makes sure matching subtitle files are downloaded and placed right alongside your media.
Instead of hunting down .srt
files from random websites, Bazarr connects to popular subtitle providers like OpenSubtitles, Addic7ed, and Podnapisi. You choose which languages you want (for example, English and Dutch), and Bazarr handles the rest, searching, downloading, and syncing them with your files.
Because it runs as a lightweight service, Bazarr works quietly in the background. New episode downloaded by Sonarr? Bazarr sees it and grabs the subtitles. New movie from Radarr? Bazarr drops the correct subs in the same folder. It’s “set and forget” subtitle automation, which is why it’s become a staple tool in many homelab media setups.
🛠️ Docker Compose: config setup
1. Create the config folder
First, create a folder for Bazarr’s configuration. This is where Bazarr will store its settings, database, and logs:
mkdir bazarr
2. Add docker-compose.yml
Create a docker-compose.yml
in the same directory with the following content:
version: "3.9"
# Optional: only needed if Sonarr/Radarr are in a different compose file
networks:
media-server:
external: true
services:
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
restart: unless-stopped
networks:
- media-server # Optional (only needed if Radarr/Sonarr are in a different compose file)
ports:
- "6767:6767"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Amsterdam
volumes:
- ./bazarr/bazarr-config:/config
- /path/to/movies:/movies
- /path/to/tv_series:/tv
In this example:
- ./bazarr/bazarr-config holds Bazarr’s settings so they persist across updates.
- /movies and /tv are mounted so Bazarr can drop subtitles directly next to your media files.
- The optional media-server network is only needed if Bazarr runs in a different compose file than Radarr/Sonarr; if all three are in the same compose, Docker’s default network is enough.
Finally, start the container:
docker compose up -d
🔗 Setting up Bazarr with Sonarr and Radarr
Once Bazarr is running, the next step is to connect it to your existing Sonarr and Radarr containers so it knows where your media lives and when new files are added. First open bazarr at:
http://<your-server-ip>:6767
Connecting Bazarr to Sonarr & Radarr
To let Bazarr manage subtitles, you need to connect it to your existing Sonarr and Radarr setups. The process is nearly identical for both.
In Bazarr, go to Settings → Sonarr (or Radarr). You’ll see a screen like this:
Here’s what the fields mean:
- Use Sonarr/Radarr: toggle this on to enable the integration.
- Address: use the container name (
sonarr
orradarr
) if they’re in the samedocker-compose.yml
. Otherwise, use your server’s IP (e.g.192.168.1.50
). - Port:
8989
for Sonarr,7878
for Radarr. - Base URL:
/
unless you’ve set up a reverse proxy path. - HTTP Timeout:
60
is fine. - API Key: copy from Sonarr/Radarr → Settings → General.
- SSL: only enable if your service is running with HTTPS.
Click Test, then Save.
Bazarr also has some optional filters under the Sonarr/Radarr settings (such as minimum score, exclude tags, or path mappings). For a basic setup, you can safely ignore these and leave them at defaults.
🌍 Setting up Subtitle Languages & Profiles
The next step is telling Bazarr which subtitle languages you want. This way, it only fetches the ones that matter to you.
1. Subtitle Languages
Go to Settings → Subtitles Language. You’ll see a screen like this:
Here you can:
- Single Language (toggle) – leave this off unless you have a very specific reason. With it disabled, Bazarr will add the language code to filenames (e.g.,
Movie.en.srt
,Movie.nl.srt
), which avoids confusion. - Languages Filter – pick the languages you want Bazarr to download. In this example: Dutch, English, Russian, and Swedish are selected.
2. Language Profiles
Click on Edit Languages Profile to fine-tune how Bazarr handles each language:
Here you can:
- Add multiple languages – e.g., Dutch, English, Russian, Swedish.
- Subtitles Type – choose between Normal or Hearing-impaired subtitles. You can set this per language if needed.
- Exclude If Matching Audio – prevents Bazarr from downloading subs if the video already has an audio track in that language.
- Cutoff / Must contain / Must not contain – advanced filters to only allow subtitles with (or without) certain words in their release info.
- Use Original Format – if enabled, Bazarr won’t convert subtitle files, it will keep them as-is from the provider.
When you’re done, click Save.
With languages and profiles set, Bazarr knows exactly which subtitles to look for (and which to skip). For most home servers, choosing your preferred languages and leaving the rest at defaults is more than enough.
📥 Setting up Subtitle Providers
Bazarr doesn’t host subtitles itself, it connects to external providers. The most important one is OpenSubtitles, which has one of the largest subtitle databases and supports Dutch, English, and many other languages.
To use it, you’ll need an OpenSubtitles account:
- Free accounts allow about 20 downloads per day.
- VIP accounts raise the limit to around 1000 per day.
In Bazarr, go to Settings → Providers, select OpenSubtitles, and enter your account username and password.
OpenSubtitles alone will cover most needs, but you can also enable a couple of extra providers (like Addic7ed or Podnapisi) as backup sources if you want more reliability.
And that’s it, Bazarr will now automatically fetch your subtitles and drop them right next to your movies and shows.
✅ Final Thoughts
Subtitle automation is one of those little quality-of-life upgrades that makes a home media server feel complete. Instead of digging around subtitle sites or syncing files manually, Bazarr quietly handles it all in the background. Combined with Sonarr and Radarr, it means every new download is instantly subtitle-ready in your preferred languages.
If you’ve followed along with this guide, you now have a solid basic setup: Bazarr running in Docker, connected to Sonarr/Radarr, fetching Dutch and English subtitles from OpenSubtitles. For most home users, that’s all you’ll ever need.
👉 Want to take your media server even further? Check out my Recyclarr setup guide — it keeps your Sonarr and Radarr quality profiles synced with the latest TRaSH-Guides recommendations, so your library stays clean and consistent.
And if you’d like to explore more advanced Bazarr setups (such as custom scoring, multiple providers, or per-show overrides), you can find that information in the official Bazarr documentation.
Thanks for reading!