Files
hassio-addons/seerr
Alexandre ced15122d9 Migrate legacy addon_config maps to app_config (#2937) nobuild
* Add one-shot app_config linter migration workflow

* Add app_config linter compatibility action

* Add add-on map compatibility normalizer

* Test add-on map compatibility normalizer

* Run app_config compatibility preparation on pull request

* Validate app_config short and long map forms separately

* Export validated workflow updates

* Use app_config-compatible linter for PR checks

* Use app_config-compatible linter for builds

* Remove temporary linter preparation workflow

* Add one-shot app_config manifest migration

* Migrate legacy addon_config maps to app_config

* Preserve upstream legacy aliases without deprecated literals

* Test legacy alias compatibility without deprecated literals

* Validate completed app_config migration

* Count only add-on manifests during migration validation

* Remove temporary migration validation workflow

* Document legacy alias construction

* Remove obsolete local linter compatibility script

* Remove obsolete local linter compatibility tests

* fix(pr-2937-review): address reviewer findings on app_config migration

- Remove the orphaned .github/actions/addon-linter composite action: it
  references .github/scripts/prepare_addon_lint_config.py, which was never
  added (the normalization approach was superseded by pinning
  frenck/action-addon-linter directly in #2936). Confirmed unused - no
  workflow invokes it.
- cleanuparr: HA_DATA_DIR pointed at /app_configs/cleanuparr, a path not
  mounted inside the container. cleanuparr's map is app_config:rw, which
  Supervisor mounts at /config, so data was living on the ephemeral
  container filesystem. Point it at /config instead (pre-existing bug,
  not introduced by this PR - just carried the wrong path forward).
- joplin/README.md: joplin's config.yaml still declares config:rw, not
  app_config (it was never part of the 86-manifest migration). Revert the
  doc text that incorrectly started calling it the app_config mapping.
- qbittorrent/00-folders.sh: fix a pre-existing copy/paste bug in the
  migration marker/log for the main-folder migration block - it referenced
  "openvpn" and a "qBitorrent" typo instead of qBittorrent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-09-11 09:30:49 +02:00
..
2026-02-18 17:10:48 +01:00
2026-02-22 23:10:24 +00:00
2026-02-22 23:10:24 +00:00

Home Assistant add-on: Seerr

About

This add-on packages Seerr, an open-source media request and discovery manager for Jellyfin, Plex, and Emby.

This add-on is based on the existing Overseerr add-on structure, adapted for the Seerr upstream project and container image. It supports Home Assistant Ingress via an internal NGINX reverse proxy.

Upstream repositories reviewed:

Installation

  1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA) Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.
  2. Install Seerr.
  3. Configure options, then start the add-on.
  4. Open the Web UI on port 5055 or via Home Assistant Ingress.

Configuration

Use env_vars to pass extra environment variables when needed. Seerr configuration is stored in /config.

Options

Option Type Default Description
NODE_MEMORY_LIMIT int 512 Maximum Node.js heap memory in MB. Increase if Seerr crashes with large libraries; decrease on memory-constrained systems.
PGID int 0 Group ID for file permissions
PUID int 0 User ID for file permissions
TZ str Timezone (e.g. Europe/London)

Example

NODE_MEMORY_LIMIT: 512
env_vars: []
PGID: 0
PUID: 0
TZ: Europe/London

Migration

From Overseerr

Seerr is compatible with Overseerr's data format. To migrate your existing configuration:

  1. Stop the Overseerr add-on.
  2. Install and start the Seerr add-on once to create its config directory (/app_configs/db21ed7f_seerr/), then stop it.
  3. Open the Filebrowser add-on (or any file manager with access to /app_configs/).
  4. Navigate to /app_configs/db21ed7f_overseerr/ and copy all files into /app_configs/db21ed7f_seerr/.
  5. Start the Seerr add-on. Your existing settings, users, and requests will be preserved.

From Jellyseerr

Seerr is compatible with Jellyseerr's data format. To migrate your existing configuration:

  1. Stop the Jellyseerr add-on.
  2. Install and start the Seerr add-on once to create its config directory (/app_configs/db21ed7f_seerr/), then stop it.
  3. Open the Filebrowser add-on (or any file manager with access to /app_configs/).
  4. Navigate to /app_configs/db21ed7f_jellyseerr/ and copy all files into /app_configs/db21ed7f_seerr/.
  5. Start the Seerr add-on. Your existing settings, users, and requests will be preserved.

From Ombi

Ombi uses a different data format and there is no automated migration path to Seerr. You will need to configure Seerr from scratch:

  1. Note down your Ombi configuration (media servers, users, notification settings, etc.).
  2. Stop the Ombi add-on.
  3. Install and start the Seerr add-on.
  4. Use the Seerr web UI to reconnect your media server(s) and reconfigure your preferences.

Support

If you find a bug, open an issue in this repository.