selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
syncarr logo

Self-host syncarr

1.13.1

Sync Radarr, Sonarr, or Lidarr instances across servers

ReleaseOpen SourceMIT
Updated2 years ago
LanguagePython
Setup difficultyModerate
Stars
273
Docker
syncarr/syncarr
Install with Docker

What is syncarr?

Syncarr synchronizes two Radarr, Sonarr, or Lidarr servers through their web APIs. It can sync a 4K instance to a 1080p instance, filter by quality profile, tags, language, and quality regex, and supports both one-way and bidirectional sync. The tool runs as a Python script (requiring Python 3.6+) or via Docker, executing on a configurable interval (default 5 minutes). It requires two *arr servers of the same type (Radarr, Sonarr, or Lidarr) and their API keys. Configuration is done via a config file or environment variables. The project is licensed under MIT and last updated in March 2024.

Should you self-host syncarr?

syncarr scores 44/100 on selfhost.directory (how scoring works) and ranks #105 of 142 in Media Management. It has 273 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Sonarr (81/100, 17 471 stars). It scores higher overall, so compare the two before you pick. See syncarr vs Sonarr side by side.

Features

  • Auto search on sync
  • Bidirectional sync
  • Blacklist support
  • Configurable sync interval
  • Language profile support
  • Monitor sync
  • One-way sync
  • Quality profile filtering
  • Quality regex matching
  • Skip missing files
  • Tag Filtering
  • Test run mode

syncarr README

How to install syncarr

Install syncarr with Docker

Docker, two Radarr/Sonarr/Lidarr instances
Environment variables
RADARR_A_URL, RADARR_A_KEY, RADARR_B_URL, RADARR_B_KEY, RADARR_B_PROFILE, RADARR_B_PATH, SYNC_INTERVAL_SECONDS (and SONARR_*/LIDARR_* variants)

docker run -it --rm --name syncarr -e RADARR_A_URL=https://4k.example.com:443 -e RADARR_A_KEY=XXXXX -e RADARR_B_URL=http://127.0.0.1:8080 -e RADARR_B_KEY=XXXXX -e RADARR_B_PROFILE=1080p -e RADARR_B_PATH=/data/Movies -e SYNC_INTERVAL_SECONDS=300 syncarr/syncarr

Also supports Sonarr and Lidarr with SONARR_* and LIDARR_* environment variables

How to configure syncarr

  • LIDARR_A_KEYAPI key for the first Lidarr instance

    API key for the first Lidarr instance

  • LIDARR_A_URLURL of the first Lidarr instance (source)

    URL of the first Lidarr instance (source)

  • LIDARR_B_KEYAPI key for the second Lidarr instance

    API key for the second Lidarr instance

  • LIDARR_B_PATHRoot folder path for the destination Lidarr instance

    Root folder path for the destination Lidarr instance

  • LIDARR_B_PROFILEQuality profile name for the destination Lidarr instance

    Quality profile name for the destination Lidarr instance

  • LIDARR_B_URLURL of the second Lidarr instance (destination)

    URL of the second Lidarr instance (destination)

  • LOG_LEVEL20Log level (10=debug, 20=info)

    Log level (10=debug, 20=info)

    values: 10,20

  • RADARR_A_KEYAPI key for the first Radarr instance

    API key for the first Radarr instance

  • RADARR_A_URLURL of the first Radarr instance (source)

    URL of the first Radarr instance (source)

  • RADARR_B_KEYAPI key for the second Radarr instance

    API key for the second Radarr instance

  • RADARR_B_PATHRoot folder path for the destination Radarr instance

    Root folder path for the destination Radarr instance

  • RADARR_B_PROFILEQuality profile name for the destination Radarr instance

    Quality profile name for the destination Radarr instance

  • RADARR_B_URLURL of the second Radarr instance (destination)

    URL of the second Radarr instance (destination)

  • SONARR_A_KEYAPI key for the first Sonarr instance

    API key for the first Sonarr instance

  • SONARR_A_URLURL of the first Sonarr instance (source)

    URL of the first Sonarr instance (source)

  • SONARR_B_KEYAPI key for the second Sonarr instance

    API key for the second Sonarr instance

  • SONARR_B_PATHRoot folder path for the destination Sonarr instance

    Root folder path for the destination Sonarr instance

  • SONARR_B_PROFILEQuality profile name for the destination Sonarr instance

    Quality profile name for the destination Sonarr instance

  • SONARR_B_URLURL of the second Sonarr instance (destination)

    URL of the second Sonarr instance (destination)

  • SYNCARR_AUTO_SEARCH1Automatically search for missing content after sync

    Automatically search for missing content after sync

    values: 0,1

  • SYNCARR_BIDIRECTIONAL_SYNC0Enable bidirectional sync (1) or one-way sync (0)

    Enable bidirectional sync (1) or one-way sync (0)

    values: 0,1

  • SYNCARR_MONITOR_NEW_CONTENT1Monitor newly synced content

    Monitor newly synced content

    values: 0,1

  • SYNCARR_SKIP_MISSING1Skip content with missing files (Radarr only)

    Skip content with missing files (Radarr only)

    values: 0,1

  • SYNCARR_SYNC_MONITOR0Sync monitored status between instances

    Sync monitored status between instances

    values: 0,1

  • SYNCARR_TEST_RUN0Run in test mode without actually syncing

    Run in test mode without actually syncing

    values: 0,1

  • SYNC_INTERVAL_SECONDS300Interval in seconds between sync runs

    Interval in seconds between sync runs

syncarr releases & version history

More in Automation

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…