Glimpse:响应式的Plex媒体查看器

Glimpse 是一个在 AI 语言模型的协助下开发的软件,唯一的作用就是从 Plex 获取元数据进行展示

简介

什么是 Glimpse Media Viewer ?

Glimpse 是一个用于浏览和查看 Plex 媒体库内容的现代化、响应式网页应用程序。它通过 Docker 部署,能够从 Plex 服务器获取元数据和艺术作品,并以优雅、用户友好的界面展示。

主要特点

  • 现代界面: 清晰、响应式的设计,适用于移动设备和桌面。
  • 媒体浏览: 可查看电影和电视剧,配有海报艺术。
  • 搜索功能: 快速查找媒体库中的内容。
  • 详细视图: 显示演员信息、类型和描述。
  • MD5 校验: 仅在图像更改时下载,优化性能。
  • Docker 化: 便于使用 DockerDocker Compose 部署。
  • 可定制性: 支持配置更新计划、应用标题等。
  • 可安装为 PWA: 可在任何设备上像本地应用一样访问媒体库。

应用场景

  • 个人媒体管理: 用户可以通过 Glimpse 轻松访问和管理自己的 Plex 媒体库。
  • 家庭共享: 适合家庭成员之间快速共享和浏览视频和电影。
  • 临时展示: 可以用于活动或聚会时的媒体展示。

Glimpse 提供了一个简便的方式,让用户在任何设备上轻松访问和享受他们的媒体内容。

准备

安装 Plex

安装可以参考老苏的旧文:媒体播放器及媒体服务器软件Plex

获取 PLEX_TOKEN

Plex 中随便打开一部片子,找到 获取信息

找到 查看XML,打开或者复制这个地址

URL 地址类似👇下面这样

1
https://192-168-0-197.cf62928645434f55bff07ecf3f54f3eb.plex.direct:32400/library/metadata/3?checkFiles=1&includeAllConcerts=1&includeBandwidths=1&includeChapters=1&includeChildren=1&includeConcerts=1&includeExtras=1&includeFields=1&includeGeolocation=1&includeLoudnessRamps=1&includeMarkers=1&includeOnDeck=1&includePopularLeaves=1&includePreferences=1&includeRelated=1&includeRelatedCount=1&includeReviews=1&includeStations=1&X-Plex-Token=hw2gsSLbv3L79i9Pd7e4

找到 X-Plex-Token,它的值 hw2gsSLbv3L79i9Pd7e4 就是我们后面会用到的 PLEX_TOKEN

X-Plex-TokenPlex 的认证令牌,注意要保管好,不要泄漏。这里的 X-Plex-Token 已做过处理;

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 bozodev ,选择第三个 bozodev/glimpse-media-viewer,版本选择 latest

本文写作时, latest 版本对应为 1.0.4

docker 文件夹中,创建一个新文件夹 glimpse,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/glimpse/data /app/data 存放设置、图片等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
9090 80

环境

可变
PLEX_URL 你的 Plex 服务器的 URL
PLEX_TOKEN Plex 的认证令牌
CRON_SCHEDULE 何时更新数据(cron 格式)
TZ 时区
APP_TITLE 应用程序的定制标题

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 新建文件夹 glimpse 和 子目录
mkdir -p /volume1/docker/glimpse/data

# 进入 glimpse 目录
cd /volume1/docker/glimpse

docker run -d \
--name glimpse-media-viewer \
--restart unless-stopped \
-p 9090:80 \
-v $(pwd)/data:/app/data \
-e PLEX_URL=http://192.168.0.197:32400 \
-e PLEX_TOKEN=hw2gsSLbv3L79i9Pd7e4 \
-e CRON_SCHEDULE="0 */6 * * *" \
-e TZ=Asia/Shanghai \
-e APP_TITLE="Glimpse" \
bozodev/glimpse-media-viewer:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '3'

services:
glimpse-media-viewer:
image: bozodev/glimpse-media-viewer:latest
container_name: glimpse-media-viewer
restart: unless-stopped
ports:
- "9090:80"
volumes:
- ./data:/app/data
environment:
- PLEX_URL=http://192.168.0.197:32400
- PLEX_TOKEN=hw2gsDMpn3L79i9Mf7e4
- CRON_SCHEDULE=0 */6 * * * # Default: every 6 hours
- TZ=Asia/Shanghai # Set your timezone
- APP_TITLE=Glimpse # Default app title, customize as needed

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 glimpse 和 子目录
mkdir -p /volume1/docker/glimpse/data

# 进入 glimpse 目录
cd /volume1/docker/glimpse

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

plex 中的显示

在浏览器中输入 http://群晖IP:9090 就能看到 Glimpse 中的显示

点击进入详情

手动更新

我们前面的设置 CRON_SCHEDULE="0 */6 * * *" 表示每 6 小时更新一次

如果有需要,也可以手动触发数据的更新

1
2
# 手动数据更新
docker exec glimpse-media-viewer bash -c 'python /app/scripts/plex_data_fetcher.py --url "$PLEX_URL" --token "$PLEX_TOKEN" --output /app/data'

参考文档

jeremehancock/Glimpse: Plex Media Viewer
地址:https://github.com/jeremehancock/Glimpse

Finding an authentication token / X-Plex-Token | Plex Support
地址:https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/

How to Get the Plex Token - Plexopedia
地址:https://www.plexopedia.com/plex-media-server/general/plex-token/