Jellyseerr
本文提供 Jellyseerr 媒体请求服务的部署示例、初始化步骤与配置原因说明,遵循本目录统一规范(单应用 compose + 复用 app-net)。
也可以参考官方 Docker 文档:Docker 部署
1. 目录与挂载约定
/app
└─ jellyseerr/
├─ docker-compose.yml
└─ config/
说明:
config:Jellyseerr 配置目录,包含应用设置、SQLite 数据库和缓存数据
2. 目录权限设置
Jellyseerr 官方镜像默认使用 UID 1000 运行:
# 创建目录
mkdir -p /app/jellyseerr/config
# 设置目录所有者为容器内用户
sudo chown -R 1000:1000 /app/jellyseerr
3. Compose 配置示例
/app/jellyseerr/docker-compose.yml:
services:
jellyseerr:
image: ghcr.io/seerr-team/seerr:v3.0.0
container_name: jellyseerr
init: true
restart: unless-stopped
user: "1000:1000"
environment:
- LOG_LEVEL=info
- TZ=Asia/Shanghai
- PORT=5055
ports:
- "5055:5055"
volumes:
- ./config:/app/config
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
networks:
- app-net
networks:
app-net:
external: true
配置原因:
- 使用官方镜像
ghcr.io/seerr-team/seerr,并固定到稳定版本标签,避免latest带来的不可预期升级风险 init: true可更好地处理容器内子进程退出和僵尸进程回收,这是官方示例中的默认建议PORT=5055与默认 Web 端口保持一致,便于与反向代理和监控配置统一- Compose 文件与数据目录放在同一个服务目录下,迁移、备份和日常维护更直接
- 持久化
/app/config,并通过./config:/app/config与当前目录下的配置目录对应,确保容器重建后账号、请求记录和应用配置不会丢失 healthcheck直接检查/api/v1/status,便于 Docker 判断服务是否真正可用- 复用
app-net,方便后续与 Jellyfin、Sonarr、Radarr、Prowlarr 等服务互通
提示
官方更推荐使用独立子域名(例如 jellyseerr.example.com)做反向代理,而不是子路径。子路径方案通常需要额外改写代理规则,且并不属于官方推荐的标准部署方式。
4. 首次初始化
服务启动后,访问 http://<SERVER_IP>:5055(或你配置的实际域名)进入初始化向导,并完成以下设置:
- 创建管理员账号,或按页面提示接入现有认证方式
- 连接 Jellyfin 服务器,填写 Jellyfin 地址和 API Key
- 配置 Sonarr、Radarr 等下载管理服务,用于接收电影和剧集请求
- 如使用反向代理访问,优先使用独立子域名,并在后台补充正确的 Application URL / 代理相关设置
如果你的 Jellyfin、Sonarr、Radarr 都已接入同一个 app-net,通常可以直接在 Jellyseerr 中填写容器名作为服务地址,例如 http://jellyfin:8096。
5. 常用命令
# 启动 Jellyseerr
cd /app/jellyseerr && docker compose up -d
# 关闭 Jellyseerr
cd /app/jellyseerr && docker compose down
# 查看容器日志
cd /app/jellyseerr && docker compose logs -f jellyseerr
# 查看健康检查状态
docker inspect --format='{{json .State.Health}}' jellyseerr
6. 访问服务
默认访问地址:http://<SERVER_IP>:5055
如果前面已经接入 Nginx 或其他反向代理,也可以通过绑定的域名访问。
7. 故障排查:无法连接 Jellyfin 或 Arr 服务
如果在初始化页面里测试连接失败,优先检查以下几点:
- 容器是否都加入了同一个
app-net - 填写的是容器内可访问地址,而不是宿主机本地回环地址(例如不要写
http://localhost:8096) - Jellyfin / Sonarr / Radarr 的 API Key 是否正确
- 反向代理或防火墙是否拦截了对应端口