Getting Started

Prerequisites

You need Docker and Docker Compose installed on your server. Any Linux distribution with Docker CE works. Bazarr+ also runs on macOS and Windows via Docker Desktop, though Linux is recommended for production.

Make sure your Sonarr and/or Radarr instances are accessible from the machine where you will run Bazarr+.

One-liner install

The fastest way to get running. This script creates a bazarr directory, writes a docker-compose.yml, and starts the containers.

Shell
curl -fsSL https://lavx.github.io/bazarr/install.sh | bash

The script is interactive. It will ask for your media paths, timezone, and whether you want to enable the AI translation service. You can review the script source on GitHub before running it.

Docker Compose setup

If you prefer to set things up manually, create a docker-compose.yml with the following content. Adjust the volume paths to match your media library locations.

docker-compose.yml
services:
  bazarr:
    image: ghcr.io/lavx/bazarr:latest
    container_name: bazarr
    restart: unless-stopped
    ports:
      - 6767:6767
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=UTC
    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

  # Recommended for the OpenSubtitles.org Provider Hub plugin: solves
  # Cloudflare browser challenges when the in-process scraper is itself
  # challenged. Set this container's /v1 URL in the plugin's FlareSolverr URL.
  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

Then start it:

Shell
docker compose up -d
OpenSubtitles.org: in v2.4 OpenSubtitles.org is a native Provider Hub plugin you install from the Marketplace. It scrapes the site in-process, so there is no separate scraper container. The FlareSolverr service above is recommended: set its /v1 URL (e.g. http://flaresolverr:8191/v1) in the plugin's FlareSolverr URL setting so it can solve Cloudflare challenges when needed. If you run Bazarr+ with host networking (network_mode: host), the flaresolverr hostname stops resolving: use http://localhost:8191/v1 and make port 8191 reachable on the host, either by adding a 8191:8191 ports mapping to the FlareSolverr service above or running it with host networking too.

First login

Open http://localhost:6767 in your browser. Go to Settings to configure your language profile, subtitle providers, and Sonarr/Radarr connections.

  1. Set a password. Bazarr+ uses PBKDF2 with 600k iterations, a significant upgrade from upstream's MD5 hashing. Pick something strong.
  2. Choose your languages. Select the subtitle languages you want Bazarr+ to search for. You can set defaults per profile or override per series/movie later.
  3. Add subtitle providers. Enable built-in providers under Settings > Providers. In v2.4 you also install providers from the Provider Hub Marketplace, which serves a versioned catalog of provider plugins. A catalog plugin can reuse a built-in id and replace the shipped provider, so the two collapse into a single card.
  4. Set provider priority. Use Settings > Providers to order providers. Bazarr+ can try them in priority order and stop early once it finds a match, saving time and API calls.
Startup auto-install: When an official catalog source is enabled, Bazarr+ installs the official-catalog version of your enabled built-in providers on startup. The supervisor reports this as an Installing providers stage, so the first boot after enabling a catalog can take a little longer. If you have no providers enabled yet, the Marketplace shows a nudge to add some.

Connecting to Sonarr and Radarr

Go to Settings > Sonarr (or Radarr) and fill in:

  • Host and port of your Sonarr/Radarr instance (e.g., 192.168.1.10:8989)
  • API key, found in Sonarr/Radarr under Settings > General
  • Base URL, only needed if you run Sonarr/Radarr behind a reverse proxy with a path prefix

Click Test to verify the connection, then Save. Bazarr+ will sync your library and start searching for missing subtitles on the next scheduled scan.

Tip: If Sonarr/Radarr and Bazarr+ share the same Docker network, use the container name as the host (e.g., sonarr instead of an IP address). This avoids issues when IP addresses change.

Next steps