Seerr 版本发布解读:Overseerr 与 Jellyseerr 合并为统一项目

发布时间:2026/9/15 19:58:30

Seerr 版本发布解读:Overseerr 与 Jellyseerr 合并为统一项目 Seerr 版本发布解读Overseerr 与 Jellyseerr 合并为统一项目【免费下载链接】seerrOpen-source media request and discovery manager for Jellyfin, Plex, and Emby.项目地址: https://gitcode.com/GitHub_Trending/je/seerroutput_articleSeerr 发布解读Overseerr 与 Jellyseerr 合并、TVDB 元数据与 DNS 缓存等新特性全解析本文基于 Seerr 官方发布公告gen-docs/blog/2026-02-10/seerr-release.md撰写系统解读这一里程碑版本Overseerr 与 Jellyseerr 两个团队正式合并为统一的Seerr项目并一次性带来 TVDB 元数据提供方、DNS 缓存、Webhook 动态占位符、PostgreSQL 支持、Helm Chart、ntfy 通知等一系列新特性。读完本文你将掌握 Seerr 相较旧版的核心差异、每一项新功能的配置入口与适用场景以及从 Overseerr/Jellyseerr 无缝迁移到 Seerr 的具体步骤与注意事项。一、版本背景两个项目的正式合并Seerr 是一个开源媒体请求与发现管理器支持 Jellyfin、Plex 与 Emby本次发布的重大意义在于Jellyseerr 与 Overseerr 的开发团队正式合并为单一团队 Seerr所有既有功能汇聚到一个共享代码库中。对于用户而言这意味着一个代码库同时整合了 Overseerr 的全部既有功能与 Jellyseerr 的最新特性原生支持 Jellyfin 与 Emby与 Plex 并列作为媒体服务器后端更新交付更高效项目得以持续向前演进。从仓库结构可以印证这一合并结果仓库同时包含 server/api/jellyfin.ts、server/api/plexapi.ts 等媒体服务器 API 实现以及 docs/migration-guide.mdx 中针对 Overseerr/Jellyseerr 用户的自动迁移说明。官方推荐查阅迁移指南仓库内对应文档 docs/migration-guide.mdx完成升级。二、面向 Overseerr 用户的新特性一览以下功能此前仅在 Jellyseerr 中存在合并后所有 Seerr 用户均可使用新特性说明替代媒体方案支持将 Jellyfin 与 Emby 作为 Plex 的替代品接入同一时间只能启用一种集成PostgreSQL 支持在 SQLite 之外可选用 PostgreSQL 作为数据库电影/剧集/标签的屏蔽列表Blocklist允许有权限的用户将特定电影、剧集或标签对普通用户隐藏覆盖规则Override Rules基于用户、标签等条件调整默认请求设置TVDB 元数据可选择使用 TheTVDB 作为剧集元数据源与 Sonarr 一致而非 TMDBDNS 缓存减少 DNS 查询次数与外部请求对使用 Pi-Hole/AdGuard Home 的场景尤为有效内置 Helm Chart便于在 Kubernetes 环境中安装与维护ntfy.sh 通知支持通过 ntfy.sh 发送通知禁用特殊季新增设置阻止特殊季如 S0被展示或请求新语言新增土耳其语Turkish与巴斯克语Basque这些特性在仓库中均有对应实现例如屏蔽列表相关实现见 src/components/Blocklist/index.tsx 与 server/routes/blocklist.ts覆盖规则相关实现见 server/entity/OverrideRule.tsntfy 通知代理实现见 server/lib/notifications/agents/ntfy.ts其 API 路由在 server/routes/settings/notifications.ts 中注册GET/POST /ntfyHelm Chart 位于 charts/seerr-chart。三、面向 Jellyseerr 用户的新特性自上一版本以来的改进本次发布同样为 Jellyseerr 老用户带来了多项长期期待的功能TVDB 元数据支持、DNS 缓存、Webhook 动态占位符以及若干面向开发者与普通用户的体验优化。3.1 PNPM v10 升级面向源码构建者Seerr 已将包管理器升级到PNPM v10。如果你从源码构建 Seerr 或参与贡献需要在开始工作前更新本地的 PNPMpnpm self-update随后验证版本pnpm -v应显示10.x.x。使用 Docker 的用户无需关心此项变更。3.2 TVDB 元数据提供方实验性此前 Seerr及其前身仅依赖TMDB提供电影与剧集信息。由于 Sonarr 使用TheTVDB作为元数据源两者在季/集编号上偶尔会出现不一致。引入 TheTVDB 后Seerr 可为剧集与动画使用与 Sonarr 相同的数据源保证两侧季集信息的一致与准确。配置入口位于设置页的新 Metadata Providers 选项卡从源码看该设置的后端逻辑位于 server/routes/settings/metadata.ts设置模型MetadataSettings包含tv与anime两个字段取值来自枚举MetadataProviderTypetmdb或tvdb定义见 server/lib/settings/index.ts保存配置时后端会先行测试所选的提供方连通性选择 TVDB 时调用Tvdb.getInstance().test()选择 TMDB 时调用TheMovieDb().getTvShow({ tvId: 1054 })测试结果通过getTestResultString归一化为三种状态not tested-1、failed0、ok1。任一测试失败则返回 500 并携带失败状态全部通过才写入并保存设置另提供独立的POST /test端点metadataRoutes.post(/test, ...)供前端手动测试提供方连通性。注意该特性当前标记为实验性默认配置为剧集与动漫均使用 TMDB见 server/lib/settings/index.ts 的默认值。3.3 DNS 缓存实验性Node.js 默认不会缓存任何 DNS 请求。对于大型 Jellyfin 媒体库每一个 HTTP 请求都会触发一次 DNS 查询极易产生极高的 DNS 查询频率进而被Pi-Hole / AdGuard Home之类的 DNS 服务限流甚至封禁。Seerr 的 DNS 缓存管理器通过缓存 DNS 查找结果显著降低 DNS 服务器压力避免限流或封禁问题。配置入口位于 Seerr 设置的 Network网络选项卡中的 DNS Cache 设置从源码看其实现位于 server/utils/dnsCache.ts核心基于dns-caching包的DnsCacheManagerSeerr 在此之上做了薄封装初始化函数initializeDnsCache接收forceMinTtl与forceMaxTtl两个参数秒内部乘以 1000 转换为毫秒后传入DnsCacheManager默认配置为enabled: false、forceMinTtl: 0、forceMaxTtl: -1见 server/lib/settings/index.tsforceMaxTtl: -1表示不强制上限、遵循系统 TTL缓存的启用时机在服务启动阶段server/index.ts当settings.network.dnsCache.enabled为真时调用initializeDnsCache管理员可通过GET /api/v1/settings/cache查看 DNS 缓存统计与缓存条目dnsCache.getStats()/dnsCache.getCacheEntries()并可通过POST /api/v1/settings/cache/dns/:dnsEntry/flush单独清除某条缓存见 server/routes/settings/index.ts。3.4 Jellyfin 媒体库的 AniDB 回退针对 Jellyfin 管理的媒体库本版本增加了额外的元数据来源当条目缺少 TMDB 或 TVDB 的提供方 ID 时Seerr 会自动回退到 AniDB从而覆盖更多小众或区域限定的动漫作品。3.5 Webhook URL 动态占位符实验性Webhook 通知现在支持在 URL 中嵌入动态占位符运行时由 Seerr 自动替换为真实值。例如可以将请求者的用户名直接拼入 Webhook URL以便与第三方服务或按用户区分的端点深度集成。启用入口位于Notifications通知设置页界面会列出当前可用的占位符供参考该功能目前标记为实验性欢迎社区反馈以在后续版本中扩充占位符集合。从源码看占位符的替换逻辑位于 server/lib/notifications/agents/webhook.ts当settings.options.supportVariables为真时遍历KeyMapwebhook.ts中定义的全部占位符键占位符采用{{key}}语法通过正则new RegExp({{ key }}, g)全局替换为真实值并经过encodeURIComponent编码KeyMap中预置了丰富的变量例如{{notification_type}}、{{event}}、{{subject}}、{{message}}、{{image}}{{notifyuser_username}}、{{notifyuser_email}}、{{notifyuser_avatar}}、{{notifyuser_settings_discordIds}}{{media_imdbid}}、{{media_tmdbid}}、{{media_tvdbid}}、{{media_type}}、{{media_status}}、{{media_status4k}}{{request_id}}、{{requestedBy_username}}、{{requestedBy_email}}{{issue_id}}、{{issue_type}}、{{issue_status}}、{{reportedBy_username}}、{{comment_message}}、{{commentedBy_username}}等测试通知Notification.TEST_NOTIFICATION时所有变量统一替换为test便于验证 URL 拼接结果。对应地Webhook 的保存/读取接口server/routes/settings/notifications.ts会持久化supportVariables、customHeaders、authHeader等选项JSON 载荷以 base64 形式存储。3.6 通知中的图片改为可选另一项小改进通知中的图片现在是可选项默认仍启用。此前版本发送通知时总是附带图片一旦图片缺失或不可用会导致链接失效或请求失败。现在可以关闭图片避免此类问题。3.7 安全与供应链改进本版本在安全层面做了系统性加固更新了部分过期的依赖相关工作仍在进行中Helm Chart 与容器镜像现在均经过加密签名可在客户端侧验证与强制校验容器改为以非 root 用户rootless运行工作流全面重构尽量减少第三方 Actions权限得到强化Actions 固定到特定的哈希值提升可追溯性发布流程移除了大量过时与插件依赖替换为更标准的行业解决方案。容器以非 root 运行的细节可参考 Dockerfile 以及 Helm Chart 中默认的securityContext配置charts/seerr-chart/templates/statefulset.yaml。四、PostgreSQL 用户特别注意事项官方在发布说明中以醒目方式给出提示如果你在 Docker 中把 Postgres 从17 升级到 18请注意数据挂载点已经变更。不再使用/var/lib/postgresql/data正确的挂载路径现在是/var/lib/postgresql。该挂载点更新是保证升级后容器正常工作的必要条件。即升级后需要将卷挂载目标更新为volumes: - postgres-data:/var/lib/postgresqlSeerr 的 PostgreSQL 迁移脚本位于 server/migration/postgres首次以 Seerr 代码库启动时迁移会自动执行详见下文迁移章节。五、从 Overseerr / Jellyseerr 迁移到 Seerr根据官方迁移指南docs/migration-guide.mdx无论来自 Overseerr 还是 Jellyseerr都无需手动执行迁移步骤——实例会在首次使用 Seerr 代码库Docker 镜像、源码构建或 Kubernetes启动时自动完成迁移Overseerr 用户还会额外执行一次配置到新代码库的迁移。迁移前务必先备份现有实例详见官方 Backups 文档以便出问题时回滚。5.1 Docker 用户迁移要点所有overseerr/jellyseerr引用统一更名为seerr容器镜像引用更新为 Seerr 官方镜像容器现在可以且建议以非 root 用户node用户UID 1000运行如果此前配置了user指令请移除镜像不再内置 init 进程需要在 Docker Compose 中添加init: true或在 Docker CLI 中添加--init。由于容器以node用户UID 1000运行必须确保 config 目录权限正确docker run --rm -v /path/to/appdata/config:/data alpine chown -R 1000:1000 /dataDocker Compose 示例Unixservices: seerr: image: ghcr.io/seerr-team/seerr:latest init: true container_name: seerr environment: - LOG_LEVELdebug - TZAsia/Tashkent - PORT5055 #optional ports: - 5055:5055 volumes: - /path/to/appdata/config:/app/config healthcheck: test: wget --no-verbose --tries1 --spider http://localhost:5055/api/v1/settings/public || exit 1 start_period: 20s timeout: 3s interval: 15s retries: 3 restart: unless-stoppedDocker CLI 示例docker run -d \ --name seerr \ --init \ -e LOG_LEVELdebug \ -e TZAsia/Tashkent \ -e PORT5055 \ -p 5055:5055 \ -v /path/to/appdata/config:/app/config \ --restart unless-stopped \ ghcr.io/seerr-team/seerr:latest官方 Docker 镜像提供以下标签latest最新稳定版、版本标签如v3.0.0、大版本别名如v3、小版本别名如v3.0以及develop滚动/每日构建慎用。5.2 Kubernetes 用户manifest 中所有jellyseerr引用更名为seerr镜像引用更新默认securityContext与podSecurityContext已更新为支持非 root 运行image: repository: seerr-team/seerr podSecurityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: false runAsNonRoot: true privileged: false runAsUser: 1000 runAsGroup: 1000 seccompProfile: type: RuntimeDefault对应的 Helm Chart 位于 charts/seerr-chart可直接用于 Kubernetes 环境安装。5.3 源码构建与第三方安装方式源码构建按官方文档docs/getting-started/buildfromsource.mdx从零安装恢复备份数据后启动即可无需额外步骤注意先升级 PNPM 至 v10见上文 3.1 节第三方方式如 AUR、TrueNAS、Unraid 等由社区维护Seerr 团队不对其负责其中Snap 包当前未维护。Unraid 用户可直接将原有 appdata 目录复制为 Seerr 的 appdatacp -a /mnt/user/appdata/overseerr /mnt/user/appdata/seerr首次启动即自动完成数据迁移。六、总结Seerr 的这次合并发布将 Overseerr 与 Jellyseerr 的能力整合进单一代码库为两类用户带来互补的功能Overseerr 用户获得了 Jellyfin/Emby 支持、PostgreSQL、屏蔽列表、覆盖规则、Helm Chart 与 ntfy 通知等能力Jellyseerr 用户则迎来 TVDB 元数据、DNS 缓存、Webhook 动态占位符等长期期待的特性同时整个项目在供应链安全、镜像签名与 rootless 运行等方面全面加固。对于现有用户升级路径足够平滑——首次以 Seerr 代码库启动即自动完成数据迁移只需留意容器 init 进程、config 目录权限与 PostgreSQL 挂载路径等细节变更。/output_article【免费下载链接】seerrOpen-source media request and discovery manager for Jellyfin, Plex, and Emby.项目地址: https://gitcode.com/GitHub_Trending/je/seerr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/15 19:58:30

dotnet/skills升级插件六大技能清单:.NET版本升级路线图

dotnet/skills升级插件六大技能清单:.NET版本升级路线图 【免费下载链接】skills Repository for skills to assist AI coding agents with .NET and C# 项目地址: https://gitcode.com/GitHub_Trending/skills17/skills 对于正在维护 .NET 项目的开发者来说…

2026/9/15 19:58:30

Reactive Resume 简历导出指南:四格式下载与避坑

Reactive Resume 简历导出指南:四格式下载与避坑 【免费下载链接】reactive-resume A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today! 项目地址: …

2026/9/15 20:28:33

卡尔曼滤波运动轨迹预测:MATLAB实现与参数整定实战

简介:该资源提供了一套基于MATLAB的卡尔曼滤波运动轨迹预测实现,面向需要处理高速运动目标跟踪、轨迹拟合与状态估计的工程技术人员和算法学习者。内容涵盖基础卡尔曼滤波、扩展卡尔曼滤波及数据拟合方法,可用于飞行器、自动驾驶等场景的轨迹…

2026/9/15 20:28:33

QoS报文分类与标记:从原理到配置实战

做网络这一行,天天跟 QoS 打交道,但很多朋友对“报文分类和标记”的理解还停留在“用 ACL 匹配一下,然后 remark”这一步。实际上,分类和标记是整个 QoS 体系里最前置、最关键的环节——你后面队列调度做得再花哨,前面…

2026/9/15 20:28:33

Spring Boot构建音乐播放网站:元数据、Range流式播放与鉴权实践

简介:一份基于Spring Boot框架的音乐播放网站项目源码,主要面向正在做Java课程设计、毕业设计的学生,以及希望提升后端开发能力的初级工程师。项目围绕在线音乐播放场景,实现了用户注册登录、歌曲分类浏览、播放列表维护、播放历史…

2026/9/15 20:23:32

Oracle EBS R12总账模块实施要点:从科目结构到月结流程全解析

做Oracle ERP EBS R12项目的人,十有八九是先跟总账(GL)打交道的。GL是整个EBS财务体系的中枢,AP、AR、FA、成本模块的数据最终都会汇总到GL,月末结账、出报表、做预算、管理多组织账套,全都绕不开这个模块。…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/15 14:22:53

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/15 11:42:23

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码