seerr (Jellyseerr) + OIDC PR #2715
Find a file
Lauris f389909a23 fix(auth): sign session cookie store with sessionSecret, not clientId
cookie-parser was initialized with settings.clientId (the Plex client
UUID), but express-session signs connect.sid with settings.sessionSecret.
The secrets differ, so cookie-parser's signature check on connect.sid
fails, the cookie is dropped from req.cookies, and the OpenAPI validator
rejects every authenticated request with "cookie 'connect.sid' required"
even though the browser is sending it correctly.

This also matches the signing secret used by the OIDC code-verifier and
state cookies that are stored via res.cookie(..., {signed: true}), which
read back through req.signedCookies during the callback.
2026-06-29 15:49:40 -04:00
.github ci(actions): update github actions (#3041) 2026-06-11 12:15:04 +02:00
.husky chore(deps): update dependency husky to v9 (#2995) 2026-05-13 23:57:30 +02:00
.vscode test: support server-side unit testing (#2485) 2026-03-12 18:39:41 +05:00
bin chore(deps): update dependency husky to v9 (#2995) 2026-05-13 23:57:30 +02:00
charts/seerr-chart chore(helm): bump seerr to 3.3.0 (#3131) 2026-06-07 21:30:36 +02:00
config
cypress fix: close manage movie sidebar without back reopening (#2590) 2026-06-19 09:02:23 +02:00
docs docs: add OpenID Connect documentation 2026-06-29 15:49:39 -04:00
gen-docs docs: add OpenID Connect documentation 2026-06-29 15:49:39 -04:00
public feat(client): support login & account linking with OpenID Connect 2026-06-29 15:49:39 -04:00
server fix(auth): sign session cookie store with sessionSecret, not clientId 2026-06-29 15:49:40 -04:00
src fix: strip query params when redirecting to provider 2026-06-29 15:49:40 -04:00
.dockerignore build(docker): setup rootless image (#2032) [skip ci] 2025-10-14 22:49:57 +02:00
.editorconfig
.gitattributes docs: updates funding and contributor information (#1977) [skip ci] 2025-10-06 13:10:19 -06:00
.gitignore chore(dev): add devenv setup (#3138) 2026-06-17 18:46:13 +02:00
.npmrc refactor: update Next.js, React.js and Node.js (#815) 2024-06-23 23:43:54 +02:00
.prettierignore chore(deps): update dependency Next.js to v16 (#3003) 2026-05-13 18:54:35 +02:00
.prettierrc.js chore(deps): update dependency Next.js to v16 (#3003) 2026-05-13 18:54:35 +02:00
CODE_OF_CONDUCT.md docs: update readme and add code of conduct/contribution guide 2020-12-09 02:39:42 +00:00
compose.postgres.yaml feat(db): add DB_POOL_SIZE environment variable for postgres connection pool (#2990) 2026-05-07 22:11:36 +02:00
compose.yaml feat: Overseerr to Jellyseerr migration (#2019) 2025-10-30 19:57:50 +01:00
CONTRIBUTING.md docs(contributing-guide): fix a typo (#2807) 2026-04-02 14:03:28 +02:00
cypress.config.ts ci: update cypress project id (#1981) [skip ci] 2025-10-06 20:11:13 +00:00
devenv.lock chore(dev): add devenv setup (#3138) 2026-06-17 18:46:13 +02:00
devenv.nix chore(dev): add devenv setup (#3138) 2026-06-17 18:46:13 +02:00
devenv.yaml chore(dev): add devenv setup (#3138) 2026-06-17 18:46:13 +02:00
Dockerfile chore(deps): remove or replace unused/heavy dependencies to reduce Docker image size (#2974) 2026-05-05 14:54:26 +02:00
Dockerfile.local build(docker): update node.js to v22.22.2 (#2942) 2026-04-24 16:09:30 +00:00
eslint.config.mts chore: upgrade to eslint v9 (#2574) 2026-03-16 21:12:30 +05:00
LICENSE
next-env.d.ts fix(email): respect hosts file for SMTP connections (#3082) 2026-06-04 19:02:55 +02:00
next.config.ts chore(deps): update dependency Next.js to v16 (#3003) 2026-05-13 18:54:35 +02:00
package.json test(auth): add tests for OpenID Connect endpoints 2026-06-29 15:49:39 -04:00
pnpm-lock.yaml test(auth): add tests for OpenID Connect endpoints 2026-06-29 15:49:39 -04:00
postcss.config.js revert: remove experimental tailwind jit compiler until title card hover is fixed 2021-04-01 08:37:53 +09:00
README.md docs: remove warning about Seerr not being released (#2411) 2026-02-14 18:17:34 +01:00
SECURITY.md chore: updated the Contributing and Security guides to reflect our current practices (#2579) 2026-02-27 15:23:42 +01:00
seerr-api.yml chore(api): clarify the 403 semantics on linked-account listing 2026-06-29 15:49:40 -04:00
stylelint.config.js feat: issues (#2180) 2021-10-24 12:44:20 +00:00
tailwind.config.js chore: upgrade to eslint v9 (#2574) 2026-03-16 21:12:30 +05:00
tsconfig.json chore(deps): update dependency Next.js to v16 (#3003) 2026-05-13 18:54:35 +02:00

Seerr

Seerr Release Seerr CI

Discord Docker pulls Translation status GitHub

Seerr is a free and open source software application for managing requests for your media library. It integrates with the media server of your choice: Jellyfin, Plex, and Emby. In addition, it integrates with your existing services, such as Sonarr, Radarr.

Current Features

  • Full Jellyfin/Emby/Plex integration including authentication with user import & management.
  • Support for PostgreSQL and SQLite databases.
  • Supports Movies, Shows and Mixed Libraries.
  • Ability to change email addresses for SMTP purposes.
  • Easy integration with your existing services. Currently, Seerr supports Sonarr and Radarr. More to come!
  • Jellyfin/Emby/Plex library scan, to keep track of the titles which are already available.
  • Customizable request system, which allows users to request individual seasons or movies in a friendly, easy-to-use interface.
  • Incredibly simple request management UI. Don't dig through the app to simply approve recent requests!
  • Granular permission system.
  • Support for various notification agents.
  • Mobile-friendly design, for when you need to approve requests on the go!
  • Support for watchlisting & blocklisting media.

With more features on the way! Check out our issue tracker to see the features which have already been requested.

Getting Started

Check out our documentation for instructions on how to install and run Seerr:

https://docs.seerr.dev/getting-started/

Preview

Seerr application preview

Migrating from Overseerr/Jellyseerr to Seerr

Read our release announcement to learn what Seerr means for Jellyseerr and Overseerr users.

Please follow our migration guide for detailed instructions on migrating from Overseerr or Jellyseerr.

Support

API Documentation

You can access the API documentation from your local Seerr install at http://localhost:5055/api-docs

Community

You can ask questions, share ideas, and more in GitHub Discussions.

If you would like to chat with other members of our growing community, join the Seerr Discord server!

Our Code of Conduct applies to all Seerr community channels.

Contributing

You can help improve Seerr too! Check out our Contribution Guide to get started.

Contributors

Contributors

Become a Backer Become a Sponsor