Jellyseerr项目从源码构建指南:高级安装与部署方案
jellyseerr Fork of overseerr for jellyfin support 项目地址: https://gitcode.com/gh_mirrors/je/jellyseerr
前言
Jellyseerr是一款优秀的媒体请求管理工具,本文将为技术爱好者详细介绍如何从源码构建并部署Jellyseerr。相比直接使用预编译版本,从源码构建能让你获得最新功能,并拥有更高的自定义灵活性。
准备工作
在开始构建前,请确保系统满足以下要求:
- Node.js环境:需要22.x版本,建议使用LTS版本
- 包管理工具:推荐使用pnpm 9.x版本,相比npm/yarn有更好的性能
- Git工具:用于获取最新源代码
- 构建工具链:根据操作系统可能需要额外工具
Unix系统构建指南(Linux/macOS)
基础安装步骤
-
创建工作目录:
sudo mkdir -p /opt/jellyseerr && cd /opt/jellyseerr
-
获取源代码:
git clone https://github.com/Fallenbagel/jellyseerr.git cd jellyseerr git checkout main
-
安装依赖:
CYPRESS_INSTALL_BINARY=0 pnpm install --frozen-lockfile
注:禁用Cypress安装可加快构建速度
-
构建项目:
pnpm build
-
启动服务:
pnpm start
构建完成后,可通过浏览器访问http://localhost:5055
使用Jellyseerr。
高级部署方案
Linux系统服务化部署
-
创建环境配置文件:
mkdir -p /etc/jellyseerr echo "PORT=5055" > /etc/jellyseerr/jellyseerr.conf
-
创建systemd服务文件:
[Unit] Description=Jellyseerr Service Wants=network-online.target After=network-online.target [Service] EnvironmentFile=/etc/jellyseerr/jellyseerr.conf Environment=NODE_ENV=production Type=exec Restart=on-failure WorkingDirectory=/opt/jellyseerr ExecStart=/usr/bin/node dist/index.js [Install] WantedBy=multi-user.target
-
启用并启动服务:
sudo systemctl enable jellyseerr sudo systemctl start jellyseerr
macOS系统服务化部署
-
创建launchd plist文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.jellyseerr</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/node</string> <string>/opt/jellyseerr/dist/index.js</string> </array> <key>WorkingDirectory</key> <string>/opt/jellyseerr</string> <key>EnvironmentVariables</key> <dict> <key>NODE_ENV</key> <string>production</string> <key>PORT</key> <string>5055</string> </dict> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> </dict> </plist>
-
加载并启动服务:
sudo launchctl load ~/Library/LaunchAgents/com.jellyseerr.plist sudo launchctl start com.jellyseerr
Windows系统构建指南
基础安装步骤
-
创建工作目录:
mkdir C:\jellyseerr cd C:\jellyseerr
-
获取源代码:
git clone https://github.com/Fallenbagel/jellyseerr.git . git checkout main
-
安装依赖:
npm install -g win-node-env set CYPRESS_INSTALL_BINARY=0 && pnpm install --frozen-lockfile
-
构建项目:
pnpm build
-
启动服务:
pnpm start
高级部署方案
使用NSSM创建Windows服务
-
安装NSSM:
nssm install Jellyseerr "C:\Program Files\nodejs\node.exe" "C:\jellyseerr\dist\index.js"
-
配置服务参数:
nssm set Jellyseerr AppDirectory "C:\jellyseerr" nssm set Jellyseerr AppEnvironmentExtra NODE_ENV=production
-
启动服务:
nssm start Jellyseerr
项目更新与维护
当需要更新Jellyseerr版本时,执行以下操作:
cd /opt/jellyseerr
git pull
pnpm install
pnpm build
然后根据部署方式重启服务即可。
常见问题解决
- 构建失败:检查Node.js和pnpm版本是否符合要求
- 服务无法启动:查看日志文件确认具体错误
- 端口冲突:修改环境配置文件中的PORT值
- 性能问题:考虑使用PM2等进程管理工具进行负载均衡
通过以上步骤,您已经成功从源码构建并部署了Jellyseerr服务。这种部署方式虽然复杂,但能提供更大的灵活性和控制权,适合需要定制化部署的高级用户。
jellyseerr Fork of overseerr for jellyfin support 项目地址: https://gitcode.com/gh_mirrors/je/jellyseerr
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考