{"id":13522268,"url":"https://github.com/autobrr/omegabrr","last_synced_at":"2025-08-31T16:31:32.894Z","repository":{"id":65196520,"uuid":"531551778","full_name":"autobrr/omegabrr","owner":"autobrr","description":"Omegabrr transforms monitored shows, movies, books and music from arrs into autobrr filters. It also supports adding titles from custom lists to autobrr filters.","archived":true,"fork":false,"pushed_at":"2024-12-26T13:15:42.000Z","size":161,"stargazers_count":155,"open_issues_count":5,"forks_count":11,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-23T04:44:50.483Z","etag":null,"topics":["autobrr","radarr","sonarr"],"latest_commit_sha":null,"homepage":"https://autobrr.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/autobrr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["zze0s","s0up4200"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2022-09-01T14:20:07.000Z","updated_at":"2025-02-18T18:27:21.000Z","dependencies_parsed_at":"2023-11-11T20:30:01.355Z","dependency_job_id":"5c0efb4b-eeab-4b09-b9cd-8388b8016e01","html_url":"https://github.com/autobrr/omegabrr","commit_stats":{"total_commits":73,"total_committers":10,"mean_commits":7.3,"dds":0.6164383561643836,"last_synced_commit":"5169e0987c7b567750bac16107036cd16d159033"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/autobrr/omegabrr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autobrr%2Fomegabrr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autobrr%2Fomegabrr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autobrr%2Fomegabrr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autobrr%2Fomegabrr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/autobrr","download_url":"https://codeload.github.com/autobrr/omegabrr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autobrr%2Fomegabrr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273009543,"owners_count":25030345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autobrr","radarr","sonarr"],"created_at":"2024-08-01T06:00:44.871Z","updated_at":"2025-08-31T16:31:32.576Z","avatar_url":"https://github.com/autobrr.png","language":"Go","funding_links":["https://github.com/sponsors/zze0s","https://github.com/sponsors/s0up4200"],"categories":["Complimenting Apps","Go"],"sub_categories":[],"readme":"# OMEGABRR\n\n\u003e [!WARNING]  \n\u003e As of 2024-12-26 the omegabrr functionality has been implemented in autobrr and this service is immediately deprecated and unsupported.\n\nOmegabrr transforms items monitored by arrs or lists into autobrr filters. Useful for automating your filters for monitored media or racing criteria.\n\n## Table of Contents\n\n- [Config](#config)\n  - [Tags](#tags)\n  - [Lists](#lists)\n- [Commands](#commands)\n- [Service](#service)\n  - [Docker Compose](#docker-compose)\n  - [Distroless alternative](#distroless-docker-images)\n  - [Systemd Setup](#systemd)\n\n## Config\n\nYou can set multiple filters per arr. Find the filter ID by going into the webui and get the ID from the url like `http://localhost:7474/filters/10` where `10` is the filter ID.\n\nCreate a config like `config.yaml` somewhere like `~/.config/omegabrr`. `mkdir ~/.config/omegabrr \u0026\u0026 touch ~/.config/omegabrr/config.yaml`.\n\n```yaml\nserver:\n  host: 0.0.0.0\n  port: 7441\n  apiToken: GENERATED_TOKEN\nschedule: \"0 */6 * * *\"\nclients:\n  autobrr:\n    host: http://localhost:7474\n    apikey: YOUR_API_KEY\n  arr:\n    - name: radarr\n      type: radarr\n      host: https://yourdomain.com/radarr\n      apikey: YOUR_API_KEY\n      filters:\n        - 15 # Change me\n      #matchRelease: false / true\n      #includeUnmonitored: false # Set to true to include unmonitored items\n\n    - name: sonarr\n      type: sonarr\n      # host: http://localhost:PORT\n      # host: http://sonarr\n      host: https://yourdomain.com/sonarr\n      apikey: YOUR_API_KEY\n      basicAuth:\n        user: username\n        pass: password\n      filters:\n        - 14 # Change me\n      #matchRelease: false / true\n      #excludeAlternateTitles: false/ true # only works for Sonarr and defaults to false\n      #includeUnmonitored: false # Set to true to include unmonitored items\n\n    - name: lidarr\n      type: lidarr\n      host: https://yourdomain.com/lidarr\n      apikey: YOUR_API_KEY\n      filters:\n        - 13 # Change me\n      #matchRelease: false / true\n\n    - name: readarr\n      type: readarr\n      host: https://yourdomain.com/readarr\n      apikey: YOUR_API_KEY\n      filters:\n        - 12 # Change me\n\n    - name: whisparr\n      type: whisparr\n      host: https://yourdomain.com/whisparr\n      apikey: YOUR_API_KEY\n      filters:\n        - 69 # Change me\n      matchRelease: true # needed as we grab site names\n\nlists:\n  - name: Latest TV Shows\n    type: mdblist\n    url: https://mdblist.com/lists/garycrawfordgc/latest-tv-shows/json\n    filters:\n      - 1 # Change me\n\n  - name: Anticipated TV\n    type: trakt\n    url: https://api.autobrr.com/lists/trakt/anticipated-tv\n    filters:\n      - 22 # Change me\n\n  - name: Upcoming Movies\n    type: trakt\n    url: https://api.autobrr.com/lists/trakt/upcoming-movies\n    filters:\n      - 21 # Change me\n\n  - name: Upcoming Bluray\n    type: trakt\n    url: https://api.autobrr.com/lists/trakt/upcoming-bluray\n    filters:\n      - 24 # Change me\n\n  - name: Popular TV\n    type: trakt\n    url: https://api.autobrr.com/lists/trakt/popular-tv\n    filters:\n      - 25 # Change me\n\n  - name: StevenLu\n    type: trakt\n    url: https://api.autobrr.com/lists/stevenlu\n    filters:\n      - 23 # Change me\n\n  - name: New Albums\n    type: metacritic\n    url: https://api.autobrr.com/lists/metacritic/new-albums\n    filters:\n      - 9 # Change me\n\n  - name: Upcoming Albums\n    type: metacritic\n    url: https://api.autobrr.com/lists/metacritic/upcoming-albums\n    filters:\n      - 20 # Change me\n\n  - name: Steam Wishlist\n    type: steam\n    url: https://store.steampowered.com/wishlist/id/USERNAME/wishlistdata\n    filters:\n      - 20 # Change me\n```\n\nIf you're trying to reach radarr or sonarr hosted on swizzin from some other location, you need to do it like this with basic auth:\n\n```yaml\narr:\n  - name: radarr\n    type: radarr\n    host: https://domain.com/radarr\n    apikey: YOUR_API_KEY\n    basicAuth:\n      user: username\n      pass: password\n    filters:\n      - 15 # Change me\n```\n\nSame goes for autobrr if it's behind basic auth.\n\n```yaml\nautobrr:\n  host: http://localhost:7474\n  apikey: YOUR_API_KEY\n  basicAuth:\n    user: username\n    pass: password\n```\n\n### Tags\n\nThis works for both sonarr and radarr.\n\nIf you want to match only certain tags you can use the `tagsInclude`.\n\n```yaml\n- name: sonarr\n  type: sonarr\n  host: http://localhost:8989\n  apikey: API_KEY\n  filters:\n    - 14 # Change me\n  tagsInclude:\n    - mytag\n```\n\nIf you want to exclude certain tags, you can use the `tagsExclude`.\n\n```yaml\n- name: sonarr\n  type: sonarr\n  host: http://localhost:8989\n  apikey: API_KEY\n  filters:\n    - 14 # Change me\n  tagsExclude:\n    - myothertag\n```\n\n### Lists\n\nFormerly known as regbrr and maintained by community members is now integrated into omegabrr! We now maintain the lists of media.\n\n**Trakt**\n\nIf you are using the Trakt api directly you need to have an **API key** which you can set via the headers object along with any other header needed for the request.\n\n```yaml\nlists:\n  - name: Some custom Trakt endpoint\n    type: trakt\n    url: https://api.trakt.tv/calendars/all\n    headers:\n      trakt-api-key: your_key_goes_here\n    filters:\n      - 22 # Change me\n```\n\n## Optionally use Match Releases field in your autobrr filter\n\nBy setting `matchRelease: true` in your config, it will use the `Match releases` field in your autobrr filter instead of fields like `Movies / Shows` and `Albums`.\n\nReadarr will only use the `Match releases` field for now, so setting `matchRelease: false` for Readarr will be ignored.\n\n## Exclude alternative titles from Sonarr\n\nYou can drop alternate show titles from being added by setting `excludeAlternateTitles: true` for Sonarr in your config.\n\n### Include Unmonitored Items\n\nBy default, omegabrr only processes monitored items. You can include unmonitored items by setting `includeUnmonitored: true` in your arr configuration. This is particularly useful in cross-seed scenarios where you want to match against all items.\n\n## Plaintext lists specific options\n\nPlaintext lists can be anything, therefore you can optionally set `matchRelease: true` or `album: true` to use these fields in your autobrr filter. If not set, it will use the `Movies / Shows` field.\n\n```yaml\nlists:\n  - name: Personal list\n    type: plaintext\n    url: https://gist.githubusercontent.com/autobrr/somegist/raw\n    filters:\n      - 27 # change me\n```\n\n## Commands\n\nAvailable commands.\n\n### generate-token\n\nGenerate an API Token to use when triggering via webhook. Copy the output and put in your config like\n\n```yaml\nserver:\n  host: 0.0.0.0\n  port: 7441\n  apiToken: MY_NEW_LONG_SECURE_TOKEN\n```\n\nCall with `omegabrr generate-token`\nIf you are using docker `docker exec omegabrr omegabrr generate-token`\nOptionally call with `--length \u003cnumber\u003e`for a custom length.\n\n### arr\n\nCall with `omegabrr arr --config config.yaml`\n\nSupports to run with `--dry-run` to only fetch shows and skip filter update.\n\n### lists\n\nCall with `omegabrr lists --config config.yaml`\n\nSupports to run with `--dry-run` to only fetch shows and skip filter update.\n\n### run\n\nRun as a service and process on cron schedule. Defaults to every 6 hour `0 */6 * * *`.\n\n## Service\n\nWhen run as a service it exposes an HTTP server as well. Generate an **API Token** (see instructions above) and add to your config.\n\nTo refresh the filters you can make a **POST** or **GET** request to the following:\n\n- `http://localhost:7441/api/webhook/trigger/arr?apikey=MY_NEW_LONG_SECURE_TOKEN` - This will trigger all arr filters. (Use this in you arr instances)\n- `http://localhost:7441/api/webhook/trigger/lists?apikey=MY_NEW_LONG_SECURE_TOKEN` - This will trigger all lists filters.\n- `http://localhost:7441/api/webhook/trigger?apikey=MY_NEW_LONG_SECURE_TOKEN` - This will trigger all filters.\n\nThe API Token can be set as either an HTTP header like `X-API-Token`, or be passed in the url as a query param like `?apikey=MY_NEW_LONG_SECURE_TOKEN`.\n\n### Docker compose\n\nCheck the `docker-compose.yml` example.\n\n1. Set `user: 1000:1000` with your user id you can get with the `id` command, or remove to run as **root**.\n2. Set the `volume` so it matches your system. To run from the same path as the `docker-compose` first create a config dir like `mkdir config`, and place this `./config:/config` in the compose file. This will create a default config on the first run.\n\nIf you have custom networks then make sure to add those, so it can communicate with autobrr, sonarr and radarr.\n\n### Distroless Docker Images\n\nFor users who prioritize container security, we offer alternative Docker images built on [Distroless](https://github.com/GoogleContainerTools/distroless). Specifically the `distroless/static-debian12:nonroot` base image.\n\nDistroless images do not contain a package manager or shell, thereby reducing the potential attack surface and making them a more secure option. These stripped-back images contain only the application and its runtime dependencies.\n\n### Systemd\n\nOn Linux-based systems it is recommended to run omegabrr as a systemd service.\n\nDownload the [latest binary](https://github.com/autobrr/omegabrr/releases/latest) for your system and place it in `/usr/local/bin`.\n\nExample: Download binary\n\n    wget https://github.com/autobrr/omegabrr/releases/download/$VERSION/omegabrr_$VERSION_linux_x86_64.tar.gz\n\nExtract\n\n    tar -xvf omegabrr_$VERSION_linux_x86_64.tar.gz ~/\n\nMove to somewhere in `$PATH`. Needs to be edited in the systemd service file if using other location.\n\n    sudo mv ~/omegabrr /usr/local/bin/\n\nAfter that create the config directory for your user:\n\n    mkdir -p ~/.config/omegabrr\n\nYou will then need to create a service file in `/etc/systemd/system/` called `omegabrr@.service`.\n\n```shell\ntouch /etc/systemd/system/omegabrr@.service\n```\n\nThen place the following content inside the file (e.g. via nano/vim/ed) or [copy the file ](./distrib/systemd/omegabrr@.service).\n\n```ini\n[Unit]\nDescription=omegabrr service for %i\nAfter=syslog.target network-online.target\n\n[Service]\nType=simple\nUser=%i\nGroup=%i\nExecStart=/usr/local/bin/omegabrr run --config=/home/%i/.config/omegabrr/config.yaml\n\n[Install]\nWantedBy=multi-user.target\n```\n\nStart the service. Enable will make it startup on reboot.\n\n    sudo systemctl enable -q --now omegabrr@$USERNAME\n\nMake sure it's running and **active**\n\n    sudo systemctl status omegabrr@$USERNAME.service\n\nBy default, the config is set to listen on only `127.0.0.1`. It's highly advised to put it behind a reverse-proxy like nginx or traefik etc.\n\nIf you are not running a reverse proxy change host in the `config.toml` to `0.0.0.0`.\n\nOn first run it will create a default config, `~/.config/omegabrr/config.yaml` that you will need to edit.\n\nAfter the config is edited you need to restart the service `systemctl restart omegabrr@$USERNAME.service`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautobrr%2Fomegabrr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautobrr%2Fomegabrr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautobrr%2Fomegabrr/lists"}