5步搞定 Jackett 部署:从裸机运行到生产加固
2026/9/19 13:23:04 网站建设 项目流程

5步搞定 Jackett 部署:从裸机运行到生产加固

【免费下载链接】JackettAPI Support for your favorite torrent trackers项目地址: https://gitcode.com/GitHub_Trending/ja/Jackett

Jackett 是聚合 BT Tracker 的 Torznab API 代理:把 Sonarr/Radarr 的搜索请求翻译成各站点的抓取逻辑并返回标准格式结果,支持 Windows/Linux/macOS 与 Docker 部署。

运行:3分钟跑起来 Jackett 最简启动路径

统一走发布包路线(仓库 Releases 页提供各平台自包含包,无需预装 .NET 运行时):Windows 下是Jackett.Binaries.Windows.zip,Linux 下Jackett.Binaries.LinuxAMDx64.tar.gz,Apple Silicon 用Jackett.Binaries.macOSARM64.tar.gz。解压后按平台执行:

# Windows:控制台版启动,日志直接可见 JackettConsole.exe # Mac / Linux ./jackett

浏览器打开http://127.0.0.1:9117,看到 Configured Indexers 页面即成功;端口被占就加--Port 9118启动。没找到合适发布包时从源码构建:git clone https://gitcode.com/GitHub_Trending/ja/Jackett,在src目录执行dotnet publish Jackett.Server -f net9.0 --self-contained -r linux-x64(macOS 换osx-x64/osx-arm64)。

配置 Jackett 开机自启:服务化与崩溃重启

前台进程一关终端就没了。需要"开机自启 + 崩溃自动拉起"时,把进程注册成系统服务,三条路:

  • Linux(systemd):在 Jackett 目录执行sudo ./install_service_systemd.sh。脚本先校验目录属主不能是 root,再生成/etc/systemd/system/jackett.service,其中Restart=always+RestartSec=5保证崩溃后 5 秒自动拉起。服务入口是 jackett_launcher.sh,它带--NoRestart启动主进程、并在 JackettUpdater 退出前阻塞,防止更新期间被 systemd 误判为异常退出。
  • macOS(launchd):执行发行包里的install_service_macos,生成~/Library/LaunchAgents/org.user.Jackett.plist,登录后自启;launchctl load / unload同一 plist 即可启停。
  • Windows(服务):跑Jackett.Installer.Windows.exe时勾选 "Install as Windows Service",或管理员下执行JackettService.exe -i(注册逻辑见 Service.cs),再到services.msc确认为自动启动。

平台判断在 EnvironmentUtil.cs 的IsWindows等属性里收口,服务脚本据此分流,不用自己写 if。

关键启动参数:

参数作用推荐值
--PortWeb 监听端口9117(默认),冲突改 9118
--ListenPrivate/--ListenPublic仅本机 / 监听所有网卡默认 Private;要内网访问再开 Public
--NoUpdates关闭自动更新生产建议开,手动控制升级
--Logging记录全部请求/响应排障时开,平时关
XDG_CONFIG_HOME(systemd 里加Environment=指定配置目录无 home 目录的服务账号必配

设置 Jackett 生产加固:权限、端口与回滚清单 ✅

  • root 属主 → 服务拒启sudo chown -R $USER:$USER /opt/Jackett。安装脚本直接检查这条,root 运行还会把配置写进 /root,重建系统后全丢。
  • 9117 被占 → 启动即退./jackett --Port 9118换端口,反代侧同步改 upstream,别去杀占用进程。
  • 日志留存:应用日志在~/.config/Jackett/log.txt(Windows 为%ProgramData%\Jackett\log.txt),systemd 侧journalctl -u jackett.service。自动更新会整体覆盖安装目录,配置/日志目录在外部才是唯一留痕。
  • 更新回滚./jackett --NoUpdates关自动更新;升级走"停服 → 新包覆盖 → 起服",坏版本直接解压旧包回去,全程不超过一分钟。
  • 外网暴露:保持--ListenPrivate,nginx 反代到127.0.0.1:9117并传X-Forwarded-Proto,Jackett 设置里同步 Base path override,给 *arr 的 Torznab URL 统一指反代地址。
  • 配置与安装分离:Windows 用--DataFolder="D:\Jackett Data",Linux 用 XDG_CONFIG_HOME,升级覆盖安装目录时 API Key 不丢。

排查 Jackett 高频报错:现象 → 根因 → 修复 🩹

现象根因修复
127.0.0.1:9117 打不开服务没起或防火墙拦了 9117systemctl status jackett.servicesudo ufw allow 9117
服务秒挂反复重启目录属主是 root,unit 校验不过sudo chown -R $USER:$USER /opt/Jackett && sudo systemctl daemon-reload && sudo systemctl restart jackett
单个 indexer 无结果站点挂了或凭据失效面板 Manual Search 单站测试;私站重填 cookie/密码
indexer 报 Cloudflare 拦截请求被人机验证挡住部署 FlareSolverr,indexer 配置里指向它(默认 127.0.0.1:8191)
启动报端口冲突9117 已被占用./jackett --Port 9118换端口
升级后页面打不开自动更新中断在坏版本./jackett --NoUpdates,停服后手动覆盖回上一个包

选择部署方案:Jackett 选型建议

  • 个人挂机:家用主机或小 VPS 上 Linux + systemd 一键脚本即可,别开--ListenPublic,API 只留给本机 *arr。
  • 小团队内网:Docker + 反代子路径部署,--ListenPublic对内网开放,Torznab URL 统一指反代。
  • 容器化/虚拟化环境:直接用 linuxserver/jackett 镜像,配置目录挂 volume,宿主机 Mono 兼容性问题一次性绕开。

上游演进看 Definitions 目录:700+ 站点定义高频增补,新 Tracker 基本都从这进。

【免费下载链接】JackettAPI Support for your favorite torrent trackers项目地址: https://gitcode.com/GitHub_Trending/ja/Jackett

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询