Skip to content

🚀 使用 Docker Compose 部署 Jackett

🚀 使用 Docker Compose 部署 Jackett

Jackett 是一款开源的索引器代理,它能将数百个种子跟踪网站的搜索功能统一成API,主要与Sonarr、Radarr、Lidarr等媒体管理应用程序配合使用。它支持跨平台运行,通过Docker部署可以简化安装过程并确保环境一致性。

📦 项目简介

Jackett 的核心功能是作为中间件,将各种不支持直接API访问的种子网站转换为应用程序可读的格式。它的主要特性包括:

  • 多索引器支持:整合众多流行的种子站点的搜索功能,提供一个统一的查询接口
  • API支持:提供RESTful API,使其他应用程序(如Sonarr、Radarr等)能够调用其搜索服务
  • 插件系统:采用模块化和可扩展的设计,可以通过插件支持更多的搜索引擎
  • 跨平台:基于.NET Core开发,可以运行在Windows、Linux和macOS等多种操作系统上

核心价值:Jackett 简化了媒体管理应用程序从多个来源获取资源信息的过程,使这些媒体管理器能够轻松地检查多种索引平台上的新上传资源,从而实现媒体下载的自动化。

⚙️ 部署前准备

  1. 环境要求

    • 已安装 DockerDocker Compose(这是运行Jackett的必备条件)
    • 系统内存:建议至少 512MB(1GB以上更佳)
    • 磁盘空间:根据配置和日志大小而定,建议预留100MB以上空间
  2. 环境检查 在终端中执行以下命令,确认Docker环境正常: bash docker --version docker-compose --version

  3. 创建项目目录 建议创建一个独立的目录来管理Jackett的所有文件,这有助于日后管理和备份: bash mkdir -p /opt/docker/jackett cd /opt/docker/jackett

🛠️ 配置 Docker Compose

基于你提供的配置,这里是对 docker-compose.yml 文件的解读和优化说明:

networks:
  videos:
    external: true # 使用已创建的外部网络(需提前执行 docker network create videos)

services:
    jackett: 
        image: 'linuxserver/jackett:latest'  # 官方最新镜像(LinuxServer 维护,稳定可靠)
        container_name: jackett # 容器名称,便于管理
        restart: always  # 容器退出后自动重启(开机自启)
        #network_mode: bridge
        ports:
            - '5002:9117' # 端口映射:主机 5002 端口 → 容器 9117 端口(WebUI 访问端口)
        environment:
            - HOME=/root  # 容器内家目录(默认即可)
            - LANG=en_US.UTF-8 # 语言编码(默认英文,不影响中文显示)
            - LANGUAGE=en_US.UTF-8
            - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # 系统路径(默认无需修改)
            - TERM=xterm # 终端类型(默认即可)
            - XDG_CONFIG_HOME=/config # 配置文件路径(映射到主机 ./config)
            - XDG_DATA_HOME=/config # 数据文件路径(与配置目录一致)
            #- TZ=Asia/Shanghai  # 推荐添加:设置正确时区
            #- AUTO_UPDATE=true  # 推荐添加:启用自动更新
        volumes:
            - ./config:/config  # 持久化配置目录  # 配置目录:主机 ./config → 容器 /config(保存索引源、设置等)
            #- ./video:/media
            - /mnt/10t/videos/downloads:/media  # 媒体目录:映射主机下载目录到容器 /media(关联下载路径)
            #- ./downloads:/downloads   # 可选:若需通过 Jackett 直接下载,可添加此映射(新手暂无需配置)
    #privileged: true
    #特权:真
    #restart: 'unless-stopped'
        networks:
           videos:
             ipv4_address: 10.1.1.4 # 指定容器在网络中的静态IP # 容器在 videos 网络中的固定 IP(默认即可,无需修改)
             #ipv6_address: 2001:3984:3989::10





关键配置说明

配置项 说明与建议
ports '5002:9117' 将容器内的9117端口映射到主机的5002端口。你可以根据需要修改主机端口(前面的5002),但容器端口(后面的9117)请保持不变,因为这是Jackett的默认服务端口。
volumes ./config:/config 用于持久化存储Jackett的配置、索引器设置等数据,确保容器重启后配置不会丢失。/mnt/10t/videos/downloads:/media 用于映射媒体目录。
environment 环境变量设置了容器运行所需的基本参数。建议添加 TZ 变量设置正确时区,以及 AUTO_UPDATE=true 启用自动更新。
networks 使用外部网络并指定静态IP,便于容器间通信。

🚀 启动与验证

  1. 启动Jackett服务docker-compose.yml 文件所在目录执行: bash docker-compose up -d 此命令会拉取镜像并在后台启动容器。

  2. 检查服务状态 bash docker-compose ps 如果看到 jackett 容器的状态为 Up,就表示部署成功了。

  3. 查看实时日志(可选) 如果遇到问题,可以通过以下命令查看容器日志来排查: bash docker-compose logs -f jackett

  4. 访问Web界面 打开浏览器,访问 http://你的服务器IP:5002

    • 如果一切正常,你将看到Jackett的Web管理界面。

⚙️ 基础配置与使用

  1. 添加索引器

    • 首次访问Jackett界面,点击 "Add Indexer" 按钮
    • 在弹出的窗口中,你可以搜索或浏览想要添加的索引器
    • 找到需要的索引器后,点击右侧的 "+" 号添加
    • 添加后,可以点击 "Test" 按钮检查连接状态
  2. 配置代理(如需要)

    • 如果你的网络环境需要代理,可以在Jackett界面的 "Jackett Configuration" 部分配置Proxy设置
    • 填写代理服务器地址、端口等信息
    • 配置完成后点击 "Apply Server Settings" 保存
  3. 获取API密钥

    • 在Jackett界面右上角可以找到你的 API密钥
    • 这个API密钥在配置Sonarr、Radarr等应用程序时会用到
  4. 与媒体服务器集成

    • 在Sonarr、Radarr等应用程序中,添加Jackett作为索引器
    • 在URL字段中填写Jackett服务地址(例如 http://10.1.1.4:9117
    • 填入从Jackett获取的API密钥
    • 对于Torznab索引器,可以使用Jackett提供的 "Copy Torznab Feed" 功能快速获取配置URL

🔒 维护与管理

  • 服务管理
  • 停止服务docker-compose down
  • 重启服务docker-compose restart
  • 查看服务状态docker-compose ps

  • 数据备份

  • 定期备份 ./config 目录,这个目录包含了Jackett的所有配置和索引器设置
  • 备份你的 docker-compose.yml 文件

  • 版本更新: Jackett活跃更新,建议定期升级以获取新功能和安全性更新: bash # 进入 docker-compose.yml 所在目录 docker-compose down docker-compose pull # 拉取最新镜像 docker-compose up -d 设置 AUTO_UPDATE=true 环境变量可以让Jackett自动更新索引器定义

🐛 常见问题排查

问题现象 可能原因与解决方法
无法访问Web界面 1. 检查防火墙/安全组是否放行 5002端口
2. 确认容器是否正常运行:docker-compose ps
3. 查看容器日志:docker-compose logs jackett
索引器测试失败 1. 检查网络连接,特别是如果需要代理,请正确配置代理设置
2. 确认索引器网站是否可访问
3. 某些索引器可能需要CloudFlare验证,需要额外配置
API调用失败 1. 确认API密钥是否正确
2. 检查调用Jackett的应用程序配置的URL和端口是否正确
索引器加载异常 1. 尝试手动点击"添加索引器"激活具体索引器
2. 清理未使用的索引器定义文件
3. 检查日志中的绑定警告信息
服务启动问题 1. 如果遇到索引器键名冲突,可以删除有问题的索引器定义文件并重启服务
2. 确保配置目录有正确的读写权限

💡 提示:Jackett的索引器管理采用按需激活机制,只有被用户显式添加的索引器才会创建运行实例,这种设计既保证了系统启动速度,又避免了不必要的资源消耗。

希望这份教程能帮助你顺利完成Jackett的部署,享受自动化媒体搜索和管理带来的便利!