媒体跟踪软件Ryot

什么是 Ryot ?

RyotRoll Y our O wn Tracker),发音为“riot”,旨在成为您需要的唯一自托管跟踪器!用于跟踪您生活的各个方面 - 媒体、健身等。

假设您有一个特殊的笔记本,您可以在其中写下您使用过的所有媒体,例如您读过的书籍、您看过的节目、您玩过的视频游戏或您做过的锻炼。现在,想象一下,您的计算机或手机上有一个特殊的工具,可以让您以数字方式跟踪所有这些内容,而不是用物理笔记本,这就是 Ryot 提供的功能。

软件特点:

  • ✅ 支持追踪媒体和健身
  • ✅ 从 GoodreadsTraktStrong App等导入数据
  • ✅ 与 JellyfinKodiPlexAudiobookshelf 等集成
  • ✅ 向 DiscordNtfyApprise 等发送通知
  • ✅ 自托管
  • ✅ 支持渐进式 Web 应用( PWA
  • GraphQL API 文档
  • ✅ 易于理解的用户界面
  • ✅ 快如闪电(顺便说一句,用 Rust 编写)
  • ✅ 免费和开源

官方提供了在线试用,地址:https://ryot.fly.dev

  • 用户名:demo
  • 密码:demo-password

前期准备

申请 Twitch API KEY

如果你没有游戏需要跟踪,可以不用

 Twitch 帐户的申请,可以参考老苏之前写的文章👇,里面详细介绍了如何注册 Twitch 帐户,并获取客户端 ID 客户端秘钥

文章传送门:复古游戏库管理器RomM

申请 TMDB API KEY

老苏在之前写的文章👇 提到过,不过微信公众号里被阉割了

文章传送门:onelist能让alist聚合网盘拥有海报墙

安装

在群晖上以 Docker 方式安装。

ghcr.io 镜像下载

官方的镜像没有发布在 docker hub,而是在 ghcr.io,所以直接用命令行来安装

最早是在 5 月份,那时候还是 beta

6 月份又瞧了一眼,已经发布了 v1.0.1 正式版本

现在应该比较成熟了,本次折腾的 latest 对应版为 v3.4.2

在 SSH 客户端中依次执行下面的命令

1
2
# 下载镜像  
docker pull ghcr.io/ignisda/ryot:latest

如果拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

1
2
3
4
5
6
7
8
# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/ignisda/ryot:latest

# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/ignisda/ryot:latest ghcr.io/ignisda/ryot:latest

# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/ignisda/ryot:latest

下载完成后,可以在 映象 中看到

看的出来,比之前的镜像大了将近一倍

docker-compose 安装

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
version: "3.9"

services:
postgres:
image: postgres:15
container_name: ryot-db
restart: unless-stopped
volumes:
- ./data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres

ryot:
image: "ghcr.io/ignisda/ryot:latest"
container_name: ryot-web
#pull_policy: always
restart: unless-stopped
ports:
- "8051:8000"
environment:
- DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres
- RUST_BACKTRACE=full
- TZ=Asia/Shanghai
- SERVER_INSECURE_COOKIE=true # only needed in localhost or non-https
- VIDEO_GAMES_TWITCH_CLIENT_ID=<your twitch client id>
- VIDEO_GAMES_TWITCH_CLIENT_SECRET=<your twitch client secret>
- MOVIES_TMDB_ACCESS_TOKEN=<your tmdb api key >

其中几个主要的环境变量:

  • DATABASE_URL:数据库地址;
  • RUST_BACKTRACE:这是调试用的,full 将打印详细的信息;
  • TZ:时区设置,默认值为 GMT,用于 cron 作业;
  • SERVER_INSECURE_COOKIE:局域网或者非 https 环境时,设为 true
  • VIDEO_GAMES_TWITCH_CLIENT_ID:非必须,你的 twitch id;
  • VIDEO_GAMES_TWITCH_CLIENT_SECRET:非必须,你的 twitch secret;
  • MOVIES_TMDB_ACCESS_TOKEN:你的 TMDB API Key;

更多的参数,请参考官方文档:https://ignisda.github.io/ryot/configuration.html

然后执行下面的命令

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

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

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8051 就能看到主界面

第一次要注册账号,登录成功后的主界面

您注册的第一个用户将自动设置为管理员;

电子书(Book)

支持 openlibrarygoogle book 搜索,个人感觉 google book 的书信息更全一些,尤其是中文书

  • Mark as read:标记为已读;
  • Add to Watchlist:添加到待看列表;

电影(Movie)

尝试搜索 变形金刚

如果你什么都搜不出来,请检查你的网络是否科学

  • Mark as watch:标记为已经看过;
  • Add to Watchlist:添加到待看列表;

如果标记 Mark as watch,可以设置观看的时间

如果加入了待看列表,可以在 Collections –> Watchlist 中找到

也可以点图片直接进入查看详情

电视剧(Show)

尝试搜索 越狱

  • Show detail:显示详情;
  • Add to Watchlist:添加到待看列表;

整合(Integration)

支持和第三方应用集成,包括 audiobookshelfJellyfinKodiPlex

老苏自己没这方面的需求,功能就留给大家自己折腾吧

参考文档

IgnisDa/ryot: Roll your own tracker!
地址:https://github.com/IgnisDa/ryot

Ryot
地址:https://ryot.fly.dev/

Ryot Documentation
地址:https://ignisda.github.io/ryot/

如何在Nas上搭建属于你的“豆瓣” 一步步带你搭建Ryot 打造全新数字化生活体验 记录你的每一刻_网络存储_什么值得买
地址:https://post.smzdm.com/p/aqmdo90x/