Configuration

Services

Overr-Syncerr supports 2 instances of each Radarr, Sonarr and Bazarr service - 4K and non-4K.

The examples below focus on the non-4K, but the process is the same in both cases.

Configuration:

Replace the placeholder text with your Radarr instance IP address and API key.

You can find your API key navigating to Settings -> General -> API Keyin you Radarr instance.

RADARR_API_KEY: "YOUR_RADARR_API_KEY"
RADARR_URL: "http://RADARR_IP:RADARR_PORT/api/v3"

Ensure that you have entered the correct information, especially the URL.

Examples:

Plex

You have to provide:

  • Plex server URL

  • Plex Authentication Token

  • Plex server cleint identifier (used for setting audio tracks & and fething users access tokens)

You can find your authentication token by following the Finding an authentication token / X-Plex-Token guide. After you've got your auth token, you can use it to find your cleintIdentifier by going to - https://plex.tv/api/resources?X-Plex-Token={your_admin_token}. You will get an XML response where you need to copy the clientIdentifier that is associated with your Plex sever.

Keywords

The language map is used to associate keywords to your Subtitle Language profile in Bazarr to communicate which subtitle language needs to be synced or translated. Using the provided language map as example, add your own keywords and languages.

You can add as many keywords as needed.

LANGUAGE_MAP: "{\"da\":\"Danish\",\"en\":\"English\",\"bg\":\"Bulgarian\",\"dansk\":\"Danish\",\"english\":\"English\",\"danske\":\"Danish\",\"eng\":\"English\"}"

Labelling

Overr-Syncerr can auto-label media with the username of the requester and can also enable users to add their User-Label to media that's been requested by other users and is available in your library.

There are two types of 'auto-labelling': Media Available and Request Monitoring

Will trigger once Overseerr/Jellyseerr has picked up the media as being available on the Plex server and apply the lable to it. This function is disabled by default and can be enabled by changing the Media Available variable to 'true'.

ENABLE_MEDIA_AVAILABLE_HANDLING: true

Request Monitoring runs every time the container is started, while Media Available is triggered as soon as the media is marked as such in Overseerr/Jellyseerr.

User Audio & Subtitle Preference

Upon initial boot, Overr-Syncerr will generate 3 JSON files:

  • user_token.json - list of usernames and their corresponding tokens

  • user_audio_pref.json - list of usernames, audio tracks in order of priority (highest to lowest)

  • user_subs_pref.json - list of usernames, subtitle tracks in order of priority (highest to lowest)

Once media becomes available, Overr-Syncerr will compare the available audio and subtitle tracks with the user's preferred options.

{
  "Bob": {
    "fallback": {
      "matchChannels": true
    },
    "preferred": [
      {
        "codec": "AAC",
        "channels": 2,
        "language": "Danish"
      },
      {
        "codec": "AAC",
        "channels": 2,
        "language": "English"
      }
    ]
  },
  "John": {
    "fallback": {
      "matchChannels": true
    },
    "preferred": [
      {
        "codec": "EAC3",
        "channels": 6,
        "language": "English"
      },
      {
        "codec": "AAC",
        "channels": 2,
        "language": "English"
      }
    ]
  }

Audio Track Matching

1

Match audio track based on preferences

Will go through the list of preferred audio tracks and select the first matching track

2

Fallback if no exact match found

Attempt to select track based on partial match

3

Select default track

If no track matches the preferred ones, the track with the default tag will be selected

Subtitle Track Matching

1

Match subtitle track based on preferences

Will go through the list of preferred subtitle tracks and select the first matching track

2

Fallback if no matching track is found

If no track from the preferred track matches, attempt to match using fallback subtitles

3

No track selection

If no match is found, no track will be selected

Kometa

To trigger Kometa automatically when media becomes available, you will have to configure the following:

ENABLE_KOMETA: "true"
KOMETA_CONFIG_PATH: C:\pmm/config:/config:rw #Replace with your Kometa config path

You will also have to add this to your list of volumes in the docker-compose to interact with the Kometa docker container:

- /var/run/docker.sock:/var/run/docker.sock

GPT Translation

By default, Bazarr uses Google API to perform subtitle translation; however, if you have an OpenAI API key, you can take advantage of ChatGPTs translation capabilities.

You can use any gpt model that you would like and I've had great success with the below values. You will also have to mount and map the directories where Bazarr stores subtitles as GPT will not be abble to access the files for processing.

ENABLE_GPT: "true"
MODEL_GPT: "gpt-4o"
OPEN_AI_API_KEY: "YOUR_OPEN_AI_KEY"
MAX_REQUEST_BYTES: 2000 
MAX_TOKENS: 4000
CHUNK_OVERLAP: 2
REQUEST_DELAY: 2
MOVIE_PATH_MAPPING: "M:\\Movies\\1080p" #Bazarr subtitles path for GPT translation
TV_PATH_MAPPING: "M:\\TV\\1080p" #Bazarr subtitles path for GPT translation

volumes:
      - M:\Movies\1080p:/mnt/movies
      - M:\TV\1080p:/mnt/tv

Webhooks

To configure Overr-Syncerr, do the following:

  1. Settings -> Notifications -> Webhook

  2. Enable the webhook agent and paste the webhook URL http://your-ip-address:your-port/ into the Webhook URL field

  3. Make sure 'Issue Reported' is ticked

    1. If you have enabled 'auto-labelling', make sure 'Request Available' is ticked as well

  4. Test the webhook agent

    1. If you get a 'Webhook test notification sent!' response, they everything is correctly configured

  5. Save

Last updated