Jackett Docker Compose配置:服务编排
你是否还在为多个BT Tracker的API整合而烦恼?是否希望通过简单配置实现全平台BT资源聚合?本文将带你通过Docker Compose实现Jackett的容器化部署,只需10分钟即可完成从环境准备到服务上线的全流程,让你的媒体中心拥有稳定可靠的Tracker数据来源。
为什么选择Docker Compose部署Jackett
Jackett作为BT Tracker的API网关,需要稳定的运行环境和灵活的配置管理。Docker Compose提供了以下核心优势:
- 环境隔离:避免系统依赖冲突,通过脚本实现容器内服务自启动
- 配置持久化:关键数据通过卷挂载保存,防止容器重启丢失配置
- 一键启停:使用简单命令完成服务生命周期管理,比手动执行脚本更便捷
准备工作
在开始部署前,请确保你的系统已安装:
- Docker Engine (20.10+)
- Docker Compose (v2+)
编写Docker Compose文件
创建docker-compose.yml文件,添加以下内容:
version: '3.8'
services:
jackett:
image: linuxserver/jackett:latest
container_name: jackett
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- AUTO_UPDATE=true
volumes:
- ./config:/config
- ./downloads:/downloads
ports:
- "9117:9117"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9117/UI/Dashboard"]
interval: 30s
timeout: 10s
retries: 3
核心配置说明
| 参数 | 说明 | 对应宿主机路径 |
|---|---|---|
PUID/PGID | 运行用户ID,避免权限问题 | - |
TZ | 时区设置,确保日志时间正确 | - |
./config | 配置文件存储目录 | Jackett配置目录 |
./downloads | 资源缓存目录 | - |
9117:9117 | Web UI和API端口映射 | - |
服务管理命令
启动服务
docker-compose up -d
此命令会后台启动Jackett服务,等价于执行系统服务脚本中的:
ExecStart=/bin/sh "${JACKETT_DIR}/jackett_launcher.sh"
代码来源:install_service_systemd.sh第77行
查看日志
docker-compose logs -f --tail=100
停止服务
docker-compose down
验证部署
服务启动后,访问http://localhost:9117打开Jackett Web UI:
- 首次登录需设置管理员密码
- 在"Add Indexer"中添加所需的Tracker站点
- 配置完成后,通过"Copy Torznab Feed"获取API地址
高级配置
反向代理设置
如需通过域名访问,可添加Nginx服务到Compose文件:
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- jackett
自动更新配置
Compose文件中已启用AUTO_UPDATE=true,如需手动控制更新,可修改为false并使用以下命令:
# 拉取最新镜像并重启
docker-compose pull && docker-compose up -d
常见问题解决
权限问题
若日志中出现权限错误,检查宿主机目录权限:
chown -R 1000:1000 ./config ./downloads
端口冲突
如9117端口已被占用,修改Compose文件中的端口映射:
ports:
- "9118:9117" # 将宿主机端口改为9118
总结
通过Docker Compose部署Jackett,你获得了:
- 标准化的服务配置,避免手动修改服务文件的复杂性
- 灵活的存储管理,配置文件对应目录结构
- 简化的维护流程,比直接执行脚本更易于管理
建议将此Compose配置文件纳入版本控制,配合项目的文档进行团队协作管理。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



