UmlautAdaptarr

repository·master·Indexed 43 days ago

https://github.com/pcjones/umlautadaptarr

A proxy tool that intercepts requests between *arr applications (Sonarr, Radarr, Lidarr, and Readarr) and indexers to resolve issues with foreign language titles, specifically German Umlauts and title mismatches. It supports both Usenet (newznab) and Torrent (torznab) protocols, mapping German titles or TVDB/TMDB aliases back to English titles and renaming releases with poor naming conventions for correct identification and import.

Tokens
1.9K
Snippets
3
Records
7
Agent score
5%

What's inside UmlautAdaptarr

  1. What is UmlautAdaptarr and how does it work?

    master

    UmlautAdaptarr is a proxy tool designed to resolve issues that Sonarr, Radarr, Lidarr, and Readarr have with foreign language releases (specifically German/Umlaut characters).

    It acts as a middleman between your *arr applications and your actual Indexers. It intercepts search queries and results, then modifies them so that the *arr applications can correctly identify, match, and import releases.

    Key capabilities include:

    • Correcting searches for titles containing Umlauts.
    • Mapping German titles or TVDB/TMDB aliases back to the English titles expected by *arr applications.
    • Renaming releases with poor naming conventions (e.g., missing 'GERMAN' tags) so they are recognized correctly.
    • Supporting both Usenet (newznab) and Torrent (torznab) protocols.
  2. Configure UmlautAdaptarr in Prowlarr (Recommended)

    master

    The recommended setup method is using Prowlarr's HTTP Proxy feature. This prevents search speed degradation when using multiple indexers.

    1. Set Environment Variables: Configure the required Docker environment variables in your docker-compose or docker run command.
    2. Create HTTP Proxy in Prowlarr:
      • Go to Settings > Indexers.
      • Add a new HTTP Proxy.
      • Name: e.g., UmlautAdaptarr HTTP Proxy.
      • Port: 5006 (ensure this matches your container configuration).
      • Tag: umlautadaptarr.
      • Host: Use umlautadaptarr, localhost, or the host IP depending on your Docker network setup.
      • Leave Username and Password empty.
    3. Apply Proxy to Indexers:
      • Go to the Indexer overview page.
      • For every indexer you want to process through UmlautAdaptarr:
        • Add the umlautadaptarr tag.
        • CRITICAL: Change the URL from https to http. This allows UmlautAdaptarr to intercept the local request. Outgoing requests to the actual indexer will still use https automatically.
    4. Verify: Click Test All Indexers. If you see warnings in the UmlautAdaptarr logs about https being used instead of http, check your indexer settings again.
  3. Configure UmlautAdaptarr in Sonarr/Radarr or Prowlarr without Proxy

    master

    If you do not use Prowlarr, or if you only have 1-3 indexers, you can configure the proxy directly on the indexer settings within Sonarr, Radarr, etc.

    1. Set Environment Variables: Configure the required Docker environment variables.
    2. Modify Indexer URL:
      • Edit the indexer you want to use.
      • Change the API URL to follow this pattern: http://localhost:5005/_/ORIGINAL_URL.
      • Example: If the original URL is https://scenenzbs.com, change it to http://localhost:5005/_/scenenzbs.com.
      • Ensure you provide the correct API Key for the original indexer.
  4. Install UmlautAdaptarr

    master

    UmlautAdaptarr can be installed using several methods:

    • Docker: Use the official image on Docker Hub.
    • Unraid: Search for umlautadaptarr in the Unraid app store.
    • Proxmox LXC: Available via unofficial community scripts (requires manual appsettings.json configuration after installation).
    • Seedbox/Binary: Use the provided shell script for manual installation.

    Note: You can remove environment variables for services you are not using (e.g., if you don't use Lidarr or Readarr).

  5. Configure UmlautAdaptarr via Docker Compose

    master

    UmlautAdaptarr can be deployed using Docker Compose. The service exposes ports 5005 (main HTTP port) and 5006 (proxy port). If you follow the recommended Prowlarr + Proxy configuration, the port mappings can be removed. Configuration is handled via environment variables.

    version: '3.8'
    services:
      umlautadaptarr:
        build: https://github.com/PCJones/UmlautAdaptarr.git#master
        image: umlautadaptarr
        restart: unless-stopped
        ports:
          - "5005:5005"
          - "5006:5006"
        environment:
          - TZ=Europe/Berlin
          - SONARR__ENABLED=false
          - SONARR__HOST=http://localhost:8989
          - SONARR__APIKEY=APIKEY
          # ... other env vars
  6. Configure Arr service integrations

    master

    UmlautAdaptarr connects to various 'Arr' services (Sonarr, Radarr, Readarr, Lidarr). For each service, you can enable the integration and provide the host URL and API key.

    To support multiple instances of the same service type, use indexed environment variables (e.g., SONARR__0__NAME, SONARR__1__HOST).

        environment:
          # Single instance configuration
          - SONARR__ENABLED=true
          - SONARR__HOST=http://localhost:8989
          - SONARR__APIKEY=APIKEY
    
          # Multiple instances configuration
          - SONARR__0__NAME=NAME 1
          - SONARR__0__ENABLED=true
          - SONARR__0__HOST=http://localhost:8989
          - SONARR__0__APIKEY=APIKEY
          - SONARR__1__NAME=NAME 2
          - SONARR__1__ENABLED=true
          - SONARR__1__HOST=http://localhost:8989
          - SONARR__1__APIKEY=APIKEY
  7. Reference: UmlautAdaptarr environment variables

    master

    The following environment variables are used to configure the behavior and integrations of UmlautAdaptarr.

    ### Service Integrations
    - `SONARR__ENABLED` (bool)
    - `SONARR__HOST` (url)
    - `SONARR__APIKEY` (string)
    - `RADARR__ENABLED` (bool)
    - `RADARR__HOST` (url)
    - `RADARR__APIKEY` (string)
    - `READARR__ENABLED` (bool)
    - `READARR__HOST` (url)
    - `READARR__APIKEY` (string)
    - `LIDARR__ENABLED` (bool)
    - `LIDARR__HOST` (url)
    - `LIDARR__APIKEY` (string)
    
    ### Advanced Settings
    - `SETTINGS__EnableChangedTitleCache` (bool): Enables the changed title API under `/titlelookup?changedTitle=$title`. Enable if using crowdnfo.net post processing script.
    - `SETTINGS__IndexerRequestsCacheDurationInMinutes` (int): How long to cache indexer requests for. Default is `12`.
    - `SETTINGS__ApiKey` (string): API key for requests to the UmlautAdaptarr. Optional, primarily for seedboxes.
    - `SETTINGS__ProxyPort` (int): Proxy port for the internal UmlautAdaptarr proxy used for Prowlarr. Default is `5006`.
    - `Kestrel__Endpoints__Http__Url` (url): HTTP port for the UmlautAdaptarr. Default is `http://[::]:5005`.
    - `IpLeakTest__Enabled` (bool): Enables IP leak testing. Default is `false`.
    - `TZ` (string): Timezone (e.g., `Europe/Berlin`).