Emby + Plex Plex+ Jellyfin Jellyfin+ Docker Registry Docker Registry + Docker Compose+ Redis+ Discord

在统一仪表盘中跨 Plex/Jellyfin/Emby 实时追踪流媒体会话并检测账号共享

✓ 单仪表盘覆盖三大流媒体服务✓ 内置六类账号共享检测规则 ✕ 依赖外部 Postgres/Redis(

方案简介

Tracearr 是一个面向自托管流媒体服务的实时监控平台,主打"一套仪表盘搞定 Plex + Jellyfin + Emby"。它解决的痛点很直接:Tautulli 只覆盖 Plex,Jellystat 只覆盖 Jellyfin 和 Emby;当用户同时跑多套服务器时,必须在多个面板之间来回切换,而账号共享检测、转码分析、信任评分等能力也散落在不同工具里。Tracearr 把这些能力收敛进同一个 Docker 部署中,向 Plex、Jellyfin、Emby 三类服务端拉取播放会话、媒体库与转码数据,提供会话追踪、流媒体分析、媒体库分析、直播电视/音乐、流媒体来源地图、账号共享检测、信任评分、实时告警以及只读公开 API 等功能。它适合同时维护多套家庭流媒体服务器、希望统一查看播放历史与设备行为、并需要主动识别账号共享行为的自托管玩家。

亮点与能力

  • 多服务器统一面板:在一个界面里同时接入 Plex、Jellyfin、Emby,无需切换 App。
  • 会话追踪:完整记录谁在何时何地用何种设备观看了什么,每条流都附带地理位置信息。
  • 流媒体分析:区分转码与直连播放,统计带宽、观看偏好、编码分布、分辨率统计和设备兼容度;增强型 IP 地理位置包含 ASN、大洲与邮政编码。
  • 媒体库分析:Overview(条目数、存储用量、增长曲线)、Quality(分辨率/编码分布、4K 与 1080p 比例)、Storage(用量预测、跨服务器重复检测、僵尸内容、每 GB 观看 ROI)、Watch(参与度、完成率、按小时/月份观看模式、连刷检测)。
  • 直播电视与音乐:除电影剧集外,也追踪直播电视会话和音乐播放。
  • 流媒体来源地图:在世界地图上可视化流媒体来源,可按用户、服务器、时间段筛选。
  • 账号共享检测:内置六类规则——Impossible Travel、Simultaneous Locations、Device Velocity、Concurrent Streams、Geo Restrictions、Account Inactivity。
  • 信任评分:根据用户行为自动加分或扣分,违规会触发分数下降。
  • 实时告警:通过 Discord Webhook 等自定义通知在规则触发时即时推送。
  • 公开 API:提供只读 REST API,在 Settings 中生成 API Key 后可访问。
  • 批量操作:在表格上多选以批量确认/忽略违规、重置信任评分、启停规则、删除会话历史。
  • 数据导入:可从 Tautulli 或 Jellystat 导入历史观看记录,避免从零开始。

前置要求

基础要求是支持 Docker 的 Linux 主机(或 NAS/家庭服务器),并能通过网络访问到至少一个 Plex、Jellyfin 或 Emby 服务端。若选择非 supervised 镜像,还需要额外准备 PostgreSQL 与 Redis 实例——README 中给出的快速启动即对应 docker-compose.pg18.yml,意味着 PostgreSQL 18 与 Redis 由 compose 拉起。环境变量至少需要 JWT_SECRETCOOKIE_SECRET,在快速启动中通过 openssl rand -hex 32 生成。

实施步骤

1. 下载 compose 文件并生成密钥

# Download compose file
curl -O https://raw.githubusercontent.com/connorgallopo/Tracearr/main/docker/examples/docker-compose.pg18.yml

# Generate secrets
echo "JWT_SECRET=$(openssl rand -hex 32)" > .env
echo "COOKIE_SECRET=$(openssl rand -hex 32)" >> .env

2. 启动服务栈

# Deploy
docker compose -f docker-compose.pg18.yml up -d

3. 选择镜像标签(按场景)

# All-in-one (easiest)
docker pull ghcr.io/connorgallopo/tracearr:supervised

# Stable (requires external services)
docker pull ghcr.io/connorgallopo/tracearr:latest

# Living on the edge
docker pull ghcr.io/connorgallopo/tracearr:nightly

4. Web 接入与登录

容器启动后打开 http://localhost:3000,在界面上连接自己的 Plex、Jellyfin 或 Emby 服务端。Unraid 用户可直接使用 supervised 镜像获得零配置体验。Portainer 部署或替代配置见仓库内 docker/examples 目录与 Docker 部署指南。

使用与配置要点

  • 接入服务器:浏览器访问 http://localhost:3000,按提示连接 Plex、Jellyfin 或 Emby。
  • 生成 API Key:在 Settings 中生成 API Key,结合仓库提供的 API 参考 或实例内置交互式文档进行集成。
  • 配置共享检测规则:在规则页面启用六类账号共享检测(Impossible Travel、Simultaneous Locations、Device Velocity、Concurrent Streams、Geo Restrictions、Account Inactivity),设置阈值与封禁国家。
  • 配置告警通道:填入 Discord Webhook URL(或自定义通知),让规则触发时即时推送。
  • 数据导入:若已有 Tautulli 或 Jellystat 数据,通过 Data Import 功能把历史观看记录迁入,避免从零开始。
  • 批量维护:在违规/会话表上多选,进行批量确认忽略、批量重置信任评分、批量启停规则、批量删除会话历史。
  • 查看日志:标准 Docker 部署下 web/db/redis 分别跑在不同容器中,使用 docker compose logs -f 查看对应服务输出。

注意事项与常见问题

  • 标签与外部依赖关系latest / next / nightly 都需要外部数据库与 Redis;只有 supervised* 标签才是 All-in-one 镜像,Unraid 用户也走该路径。
  • 定位差异:相比 Tautulli(仅 Plex)与 Jellystat(仅 Jellyfin/Emby),Tracearr 的独有能力集中在账号共享检测、Impossible Travel 告警、信任评分与多服务器统一面板;其余基础能力三者均具备。
  • 二次开发/集成:公开 API 为只读 REST,第三方集成需在 Settings 中先生成 API Key。
  • 部署细节:Portainer、替代配置、详细需求参见 docker/examples/README.md;完整文档见 docs.tracearr.com

优缺点

  • ✓ 单仪表盘覆盖三大流媒体服务
  • ✓ 内置六类账号共享检测规则
  • ✕ 依赖外部 Postgres/Redis(

出处

本方案挖掘自开源项目 connorgallopo/Tracearr,方案内容与实施命令均来自其 README 原文。

方案出处
connorgallopo/Tracearr:Real-time monitoring for Plex, Jellyfin, and Emby servers. Track streams, analyz
2565 star Real-time monitoring for Plex, Jellyfin, and Emby servers. Track streams, analyze playback, and detect account sharing from a single dashboard.

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。