什么是 Ryot ?
Ryot
(Roll Y our O wn Tracker),发音为“riot”,旨在成为您需要的唯一自托管跟踪器!用于跟踪您生活的各个方面 - 媒体、健身等。
假设您有一个特殊的笔记本,您可以在其中写下您使用过的所有媒体,例如您读过的书籍、您看过的节目、您玩过的视频游戏或您做过的锻炼。现在,想象一下,您的计算机或手机上有一个特殊的工具,可以让您以数字方式跟踪所有这些内容,而不是用物理笔记本,这就是 Ryot
提供的功能。
软件特点:
- ✅ 支持追踪媒体和健身
- ✅ 从
Goodreads
、Trakt
、Strong App
等导入数据 - ✅ 与
Jellyfin
、Kodi
、Plex
、Audiobookshelf
等集成 - ✅ 向
Discord
、Ntfy
、Apprise
等发送通知 - ✅ 自托管
- ✅ 启用
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
客户端中依次执行下面的命令
# 下载镜像
docker pull ghcr.io/ignisda/ryot:latest
如果拉不动,可以试试 docker
代理网站:https://dockerproxy.com/,但是会多几个步骤
# 如果拉不动的话加个代理
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
文件
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
然后执行下面的命令
# 新建文件夹 ryot 和 子目录
mkdir -p /volume1/docker/ryot/data
# 进入 ryot 目录
cd /volume1/docker/ryot
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:8051
就能看到主界面
第一次要注册账号,登录成功后的主界面
您注册的第一个用户将自动设置为管理员;
电子书(Book)
支持 openlibrary
和 google 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)
支持和第三方应用集成,包括 audiobookshelf
、Jellyfin
、Kodi
、Plex
老苏自己没这方面的需求,功能就留给大家自己折腾吧
参考文档
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/