All apps · 0 apps
Overr-Syncerr
Docker app from grtgbln's Repository
Overview
Readme
View on GitHubOverr-Syncerr
This project was created to improve my Plex experience—and that of my users—by giving them just enough control to solve one of the biggest challenges: subtitles. Over time, it has expanded to include features like automatic media labeling, better translations, and, most recently, personalized audio preferences. Now, users can have their preferred language, codec, and channel count automatically selected, ensuring the best audio experience while reducing unnecessary transcoding. While this project is designed around my setup, you're welcome to adapt it to fit your own needs!
Overr-Syncerr is a script designed to automate the management of subtitle synchronization issues across your media library. By leveraging Overseerr and Jellyseerr's built-in webhook and issue reporting functionality, this script allows users to specify the subtitles they need synchronized. It seamlessly integrates with your existing services such as Sonarr, Radarr, and Bazarr, making the entire process of subtitle synchronization more automated.
Getting Started
Refer to the official Overr-Syncerr docs at - https://wiki.overrsyncerr.info
IMPORTANT
Enable Overseer Request Monitor AFTER you've run the script to generate subtitle and audio preferences jsons to ensure that the correct settings get applied.
Current Features
- Full Sonarr and Radarr Integration: Easily fetch series and movie details from Sonarr and Radarr.
- Bazarr Integration: Synchronize subtitles using Bazarr, including support for 4K instances and HI subtitles.
- Language Mapping: Map keywords to language names based on webhook messages.
- Subtitles: Send 'sync', 'translate' and manual adjustment requests to Bazarr (using the 1st audio track + GSS).
- Auto-reply & resolve issue: Automatically reply to the reported subtitle issue in Overseerr/Jellyseerr upon subtitles synchronization and mark it as resolved.
- Sync all episodes in season: Submit all subtitles in a specific language to be synced by selecting 'All Episodes' when submitting the subtitle issue.
- User Audio Preference: set preffered audio track based on language, codec and channel per user automatically once media becomes available
- User Subtitle Preference: set preffered subtitle track based on language, codec, forced or hearing impaired properties per user automatically once media becomes available
- Auto-labelling: Option to label available requested media with the username of the requester in Plex (inspired by Plex Requester Collection)
- Translate Subs Using GPT: Option to use OpenAI GPT instead of Google Translate for subtitle translation OpenAI API Key Required
Known issues (WIP)
- If you've encountered and issue or have a suggestions, you're welcome to post about it :)
To-Do
- Integrate Mediux for automatic poster and title card application based on favourite creators (NO ETA)
Contributors
Big thank you to the people helping furher develop this project!
kirsch33 💻 |
nwithan8 💻 |
Install Overr-Syncerr on Unraid in a few clicks.
Find Overr-Syncerr in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Enabling Kometa integration will attempt to communicate with a Kometa Docker container running on the same machine.
May require additional configuration. See details: https://github.com/gssariev/overr-syncerr/blob/main/.env.example
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allLinks
Details
gsariev/overr-syncerr:latestRuntime arguments
- Network
bridge- Privileged
- false
Template configuration
Container Port: 8089
- Target
- 8089
- Default
- 8089
- Value
- 8089
URL to Bazarr API
- Target
- BAZARR_URL
- Default
- http://IP_ADDRESS:PORT/api
- Value
- http://IP_ADDRESS:PORT/api
API key for Bazarr
- Target
- BAZARR_API_KEY
URL to Bazarr API for 4K
- Target
- BAZARR_4K_URL
- Default
- http://IP_ADDRESS:PORT/api
- Value
- http://IP_ADDRESS:PORT/api
API key for Bazarr (4K)
- Target
- BAZARR_4K_API_KEY
URL to Radarr API
- Target
- RADARR_URL
- Default
- http://IP_ADDRESS:PORT/api
- Value
- http://IP_ADDRESS:PORT/api/v3
API key for Radarr
- Target
- RADARR_API_KEY
URL to Radarr API for 4K
- Target
- RADARR_4K_URL
- Default
- http://IP_ADDRESS:PORT/api/v3
- Value
- http://IP_ADDRESS:PORT/api/v3
API key for Radarr (4K)
- Target
- RADARR_4K_API_KEY
URL to Sonarr API
- Target
- SONARR_URL
- Default
- http://IP_ADDRESS:PORT/api/v3
- Value
- http://IP_ADDRESS:PORT/api/v3
API key for Sonarr
- Target
- SONARR_API_KEY
URL to Sonarr API for 4K
- Target
- SONARR_4K_URL
- Default
- http://IP_ADDRESS:PORT/api/v3
- Value
- http://IP_ADDRESS:PORT/api/v3
API key for Sonarr (4K)
- Target
- SONARR_4K_API_KEY
Enable to use Sonarr webhook; disables TV logic from being executed via Media Available
- Target
- SONARR_EP_TRACKING
- Default
- false|true
Delay (in seconds) before triggering audio and subtitle track preferences to ensure that Plex metadata is refreshed
- Target
- SONARR_TRACK_DELAY_SECONDS
- Default
- 10
- Value
- 10
URL to Overseerr (or Jellyseer) API
- Target
- OVERSEERR_URL
- Default
- http://IP_ADDRESS:PORT/api/v1
- Value
- http://IP_ADDRESS:PORT/api/v1
API key for Overseerr (or Jellyseer)
- Target
- OVERSEERR_API_KEY
URL to Plex instance
- Target
- PLEX_HOST
- Default
- http://IP_ADDRESS:PORT
- Value
- http://IP_ADDRESS:PORT
Plex token for authentication
- Target
- PLEX_TOKEN
Plex client ID for authentication
- Target
- SERVER_CLIENTID
Name of the Plex library for anime.
- Target
- ANIME_LIBRARY_NAME
Name of the Plex library for movies.
- Target
- MOVIES_LIBRARY_NAME
Name of the Plex library for TV shows.
- Target
- SERIES_LIBRARY_NAME
Enable ChatGPT integration.
- Target
- ENABLE_GPT
- Default
- false|true
Model to use for ChatGPT integration.
- Target
- MODEL_GPT
- Default
- gpt-4o
- Value
- gpt-4o
API key for OpenAI.
- Target
- OPEN_AI_API_KEY
Provide the locations Bazarr stores subtitles (relative to Bazarr)
- Target
- MOVIE_PATH_MAPPING
Path to the movie directory on the host machine.
- Target
- /mnt/movies
Provide the locations Bazarr stores subtitles (relative to Bazarr)
- Target
- TV_PATH_MAPPING
Path to the TV directory on the host machine.
- Target
- /mnt/tv
Enable Kometa integration.
- Target
- ENABLE_KOMETA
- Default
- false|true
Path to the Kometa config directory.
- Target
- /kometa/config
Enable if you want to use auto-label, Kometa overlays or audio preference
- Target
- ENABLE_MEDIA_AVAILABLE_HANDLING
- Default
- false|true
Enable if you want to use user specific audio preference
- Target
- ENABLE_AUDIO_PREF
- Default
- false|true
Enable if you want to add label or set audio to media that's partially available
- Target
- MONITOR_REQUESTS
- Default
- false|true
Interval (in seconds) to check for partially-available requests
- Target
- CHECK_REQUEST_INTERVAL
- Default
- 10
- Value
- 10
Map of language keywords. See example: https://github.com/gssariev/overr-syncerr/blob/1e68f8bd55bfd7aaeb65192f5ba539dbf2802a6f/docker-compose.yml#L68
- Target
- LANGUAGE_MAP
- Default
- {}
- Value
- {}
List of keywords to identify sync issues. See example: https://github.com/gssariev/overr-syncerr/blob/1e68f8bd55bfd7aaeb65192f5ba539dbf2802a6f/docker-compose.yml#L69
- Target
- SYNC_KEYWORDS
- Default
- []
- Value
- []
List of keywords to identify requests for adding labels. See example: https://github.com/gssariev/overr-syncerr/blob/1e68f8bd55bfd7aaeb65192f5ba539dbf2802a6f/docker-compose.yml#L70
- Target
- ADD_LABEL_KEYWORDS
- Default
- []
- Value
- []
Path to the config directory.
- Target
- /config
- Default
- /mnt/user/appdata/overr-syncerr/config
- Value
- /mnt/user/appdata/overr-syncerr/config
Internal path to the Kometa config directory.
- Target
- KOMETA_CONFIG_PATH
- Default
- /kometa/config
- Value
- /kometa/config
Maximum request size in bytes.
- Target
- MAX_REQUEST_BYTES
- Default
- 2000
- Value
- 2000
Maximum number of tokens.
- Target
- MAX_TOKENS
- Default
- 4000
- Value
- 4000
Number of overlapping chunks.
- Target
- CHUNK_OVERLAP
- Default
- 2
- Value
- 2
Delay between requests in seconds.
- Target
- REQUEST_DELAY
- Default
- 2
- Value
- 2
Internal webhook port. Not recommended to change.
- Target
- PORT
- Default
- 8089
- Value
- 8089
Path to the Docker socket (for triggering Kometa)
- Target
- /var/run/docker.sock
- Default
- /var/run/docker.sock
- Value
- /var/run/docker.sock