资讯动态

Jellyseerr 源码构建实操:从编译到生产环境

发布时间:2026/9/13 18:47:09 来源:尧图企业网站定制
Jellyseerr 源码构建实操从编译到生产环境【免费下载链接】seerrOpen-source media request and discovery manager for Jellyfin, Plex, and Emby.项目地址: https://gitcode.com/GitHub_Trending/je/seerr想在生产环境里自己掌控配置或要跑还没进发行版的新特性这篇直接讲 Jellyseerr 源码构建拉代码、编译、起服务外加三个平台各自容易卡住的点。动手前先过一遍清单先对一下号别为不需要的事折腾只是装起来给几个人用、Docker 镜像就能满足——直接跑镜像源码构建用不上。要改代码、追未发布的特性或者要 7×24 跑生产、日志和端口全自己定——这种才值得走源码。只是想把版本升一升容器换个 tag 重启就行源码路线是给要攥在自己手里的人准备的。硬性依赖一张表说清依赖版本要求备注Node.js22.x推荐 LTS主版本不对编译直接挂pnpm9.x仓库锁文件按 pnpm 生成拿 npm/yarn 代装会对不上Git任意新版只负责拉代码没有其他要求所有平台都一样的三步三个平台共用的流程就下面三条差异全部挪到下一节集中讲。拉取代码并切到主分支git clone https://gitcode.com/GitHub_Trending/je/seerr jellyseerr cd jellyseerr git checkout main安装依赖。CYPRESS_INSTALL_BINARY0负责跳过 Cypress 的浏览器二进制下载能省掉一大截时间Windows 下这个变量怎么换写法见下一节CYPRESS_INSTALL_BINARY0 pnpm install --frozen-lockfile这一步是整个流程里最耗时的中途断网也别慌重跑同一条命令能接着装。编译前端和服务端产物最终落在dist/目录pnpm build平台差异集中对照Jellyseerr 环境变量写法差异同一个变量bash 和 PowerShell 的注入方式完全不同场景Linux / macOSWindows装依赖时临时跳过 CypressCYPRESS_INSTALL_BINARY0 pnpm install --frozen-lockfileset CYPRESS_INSTALL_BINARY0 pnpm install --frozen-lockfile常驻配置写入/etc/jellyseerr/jellyseerr.conf服务文件里用EnvironmentFile指过去放部署目录的.env文件或用nssm set Jellyseerr AppEnvironmentExtra注入服务真正要用的变量就两个PORT默认 5055和NODE_ENVproduction。systemd 的 conf 里就是裸的KEYVALUE两行launchd 塞进 plist 的EnvironmentVariables字典NSSM 走AppEnvironmentExtra。Jellyseerr 路径与权限差异事项LinuxmacOSWindows部署目录/opt/jellyseerrsudo mkdir创建/opt/jellyseerrC:\jellyseerr普通mkdir即可node 可执行文件/usr/bin/node先which node确认/usr/local/bin/nodeC:\Program Files\nodejs\node.exe服务定义位置/etc/systemd/system/jellyseerr.service~/Library/LaunchAgents/com.jellyseerr.plist无文件NSSM 写进注册表权限要求systemctl操作要 sudolaunchctl操作要 sudonssm install要管理员终端Jellyseerr 依赖安装的坑⚠️ 最容易卡住的一步Windows 上先npm install -g win-node-env把 node-gyp 的编译工具链备齐bcrypt、sqlite3 这类原生模块要本地编译缺了它 install 必挂。两个平台装依赖前都要带上CYPRESS_INSTALL_BINARY0否则白下一个用不上的浏览器二进制。装完直接报编译错九成是 Node 主版本不对node -v确认 22.x再pnpm -v确认 9.x。编译完之后怎么跑先在前台起一次确认能正常响应再谈常驻pnpm start另开一个终端打一下默认端口能拿到 HTTP 响应头就算起来了curl -I http://localhost:5055首次访问会走初始化流程按提示设置登录方式和元数据源就行端口默认监听 5055。确认一切正常后按平台把 Jellyseerr 部署成常驻服务核心配置要点只列关键行systemdLinuxlaunchdmacOSNSSMWindows服务文件建在/etc/systemd/system/jellyseerr.serviceplist 放~/Library/LaunchAgents/com.jellyseerr.plist无配置文件nssm install Jellyseerr直接注册EnvironmentFile/etc/jellyseerr/jellyseerr.confconf 里写PORT5055EnvironmentVariables字典放NODE_ENV/PORTnssm set Jellyseerr AppEnvironmentExtra NODE_ENVproductionWorkingDirectory/opt/jellyseerrExecStart/usr/bin/node dist/index.jsWorkingDirectory指向/opt/jellyseerrProgramArguments填 node 加dist/index.jsnssm set Jellyseerr AppDirectory C:\jellyseerrRestarton-failure保证挂了自动拉起RunAtLoad与KeepAlive都置 true注册完用nssm start Jellyseerr拉起systemctl enable jellyseerr systemctl start jellyseerrlaunchctl load后launchctl start com.jellyseerr同上nssm start Jellyseerr服务起不来时别猜直接翻日志systemd 用journalctl -u jellyseerrNSSM 看安装时指定的日志文件报错基本都会写明缺了哪个文件或变量。日后维护速查操作命令说明更新 Jellyseerrgit pull pnpm install --frozen-lockfile pnpm build拉新码、重装依赖、重新编译重启服务即完成 Jellyseerr 更新回滚git checkout old-tag退回上一版本再走一遍上面的更新流程看日志journalctl -u jellyseerr -fsystemd 专用macOS 查 launchd 日志Windows 查 NSSM 的输出文件改端口环境文件里把PORT改成your-port后重启端口冲突就靠它改完必须重启才生效重启命令按平台取systemctl restart jellyseerr、launchctl stop com.jellyseerr launchctl start com.jellyseerr、nssm restart Jellyseerr。实例多了或者想要进程级守护可以顺手加一层 PM2 做管理。Jellyseerr 生产环境配置还有两件值得接着做的事给 5055 端口挂反向代理和 TLSdocs/extending-seerr/reverse-proxy.mdx 有现成方案以及把数据库换成 Postgres参考 docs/extending-seerr/database-config.mdx 与 compose.postgres.yaml。【免费下载链接】seerrOpen-source media request and discovery manager for Jellyfin, Plex, and Emby.项目地址: https://gitcode.com/GitHub_Trending/je/seerr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价