媒体跟踪软件Ryot

news2024/9/30 19:28:29

在这里插入图片描述

什么是 Ryot ?

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

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

软件特点:

  • ✅ 支持追踪媒体和健身
  • ✅ 从 GoodreadsTraktStrong App等导入数据
  • ✅ 与 JellyfinKodiPlexAudiobookshelf 等集成
  • ✅ 向 DiscordNtfyApprise 等发送通知
  • ✅ 自托管
  • ✅ 启用 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)

支持 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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1395656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis之关联

一、一对多关联 eg&#xff1a;一个用户对应多个订单 建表语句 CREATE TABLE t_customer (customer_id INT NOT NULL AUTO_INCREMENT, customer_name CHAR(100), PRIMARY KEY (customer_id) ); CREATE TABLE t_order ( order_id INT NOT NULL AUTO_INCREMENT, order_name C…

翻译: LLM构建 GitHub 提交记录的聊天机器人一 使用 Timescale Vector、pgvector 和 LlamaIndex

1. 检索增强生成 &#xff08;RAG Retrieval Augmented Generation&#xff09; 检索增强生成 &#xff08;RAG Retrieval Augmented Generation&#xff09; 对于增强应用程序开发中的大型语言模型 &#xff08;LLM&#xff09; 至关重要。它用外部数据源补充 LLM&#xff0c…

ChatGPT关键技术、发展方向与应用前景

源自&#xff1a;中国指挥与控制学会 作者&#xff1a;黄海涛 田虎 郑晓龙 曾大军 一、GPT类模型技术发展路径 图1 GPT类模型推出时间线1&#xff0c;2 二、ChatGPT模型的主要技术手段 图2 GPT类模型采用的Transformer解码器模型结构 图3 RLHF迭代训练过程真正推动ChatGPT模型…

物联网协议Coap之C#基于Mozi的CoapServer实现解析

目录 前言 一、C#的Coap Server实现 1、CoapServer相关类 2、主要类解析 3、资源控制器定义 4、ResourceManager管理器 二、CoapServer生命周期 1、Server创建代码 2、服务端创建 3、绑定endpoint 4、准备接收请求 总结 前言 在之前的关于物联网协议的介绍中&#…

ELK日志分析

目录 1.ELK概述 ELK简述 ElasticSearch Kiabana Logstash 可添加其他的组件 Filebeat filebeat结合logstash带来好处 缓存/消息队列&#xff08;redis、kafka、RabbitMQ等&#xff09; Fluentd ELK的好处 完整日志系统基本特征 ELK的工作原理 2.ELK Elasticsearc…

Git提交 ssh: connect to host github.com port 22: Connection timed out解决方案

你们好&#xff0c;我是金金金。 场景 之前都是好好的&#xff0c;不知道今天为什么提交代码就这样了 排查 根据英文可以看出&#xff0c;ssh端口号被拒绝了&#xff0c;22号端口不行&#xff0c;那就换一个端口 造成error的原因 ssh端口被拒绝 解决 找到.ssh文件&#xff…

Producer源码解读

Producer源码解读 在 Kafka 中, 我们把产生消息的一方称为 Producer 即 生产者, 它是 Kafka 的核心组件之一, 也是消息的来源所在。它的主要功能是将客户端的请求打包封装发送到 kafka 集群的某个 Topic 的某个分区上。那么这些生产者产生的消息是怎么传到 Kafka 服务端的呢&a…

Linux系统三剑客之grep和正则表达式的介绍(一)

1.正则表达式 目录 1.正则表达式 1.什么是正则表达式 &#xff1f; 2.正则表达式的使用场景 3.正则表达式字符表示 4.它们之间的区别 2.grep命令 作用&#xff1a; 语法&#xff1a; 说明&#xff1a; 选项&#xff1a;options 重点 实例 3.后面的下次再更新。 …

hanlp,pkuseg,jieba,cutword分词实践

总结&#xff1a;只有jieba,cutword,baidu lac成功将色盲色弱成功分对,这两个库字典应该是最全的 hanlp[持续更新中] https://github.com/hankcs/HanLP/blob/doc-zh/plugins/hanlp_demo/hanlp_demo/zh/tok_stl.ipynb import hanlp # hanlp.pretrained.tok.ALL # 语种见名称最…

统计学-R语言-6.3

文章目录 前言总体方差的区间估计总体方差的区间估计(一个总体方差的估计)总体方差的区间估计(两个总体方差比的估计) 总结 前言 本篇文章是最后一个介绍参数估计的章节。 总体方差的区间估计 研究一个总体时&#xff0c;推断总体方差 使用的统计量为样本方差 。研究两个总体…

MacOS受欢迎的数据库开发工具 Navicat Premium 15 中文版

Navicat Premium 15 Mac是一款数据库管理工具&#xff0c;提供了一个全面的解决方案&#xff0c;用于连接、管理和维护各种数据库系统。以下是Navicat Premium 15 Mac的一些主要功能和特点&#xff1a; 软件下载&#xff1a;Navicat Premium 15 中文版下载 多平台支持&#xff…

代码、课程、教学的一些思考-2024

1 代码、算法、艺术品 1.1 代码 最典型的C代码示例。 以下是一个简单的C代码示例&#xff0c;它打印出“Hello, World!”&#xff1a; #include <iostream> int main() { std::cout << "Hello, World!"; return 0; } 这段代码定义了一个程序&a…

2024年美国各州即将生效的新隐私保护法(上)

2024年美国各州即将生效的新隐私保护法&#xff08;上&#xff09; 文章目录 2024年美国各州即将生效的新隐私保护法&#xff08;上&#xff09;前言一、2023年隐私保护法开始生效的五个州二、2023年通过了新的隐私保护法的八个州三、2024年确定截止的州及法律法规&#xff08;…

Python GUI 新手入门教程:轻松构建图形用户界面

Python 凭借其简单性和多功能性&#xff0c;已经成为最流行的编程语言之一。被广泛应用于从 web 开发到数据科学的各个领域。 在本教程中&#xff0c;我们将探索用于创建图形用户界面&#xff08;GUIs&#xff09;的 Python 内置库&#xff1a; Tkinter&#xff1a;无论你是初…

深入学习卷积神经网络(CNN)的原理知识

在深度学习领域中&#xff0c;已经经过验证的成熟算法&#xff0c;目前主要有深度卷积网络&#xff08;DNN&#xff09;和递归网络&#xff08;RNN&#xff09;&#xff0c;在图像识别&#xff0c;视频识别&#xff0c;语音识别领域取得了巨大的成功&#xff0c;正是由于这些成…

gitlab 命令执行漏洞(CVE-2022-2992)

1.漏洞影响版本 GitLab CE/EE 中的一个漏洞影响从 11.10 开始到 15.1.6 之前的所有版本、从 15.2 开始到 15.2.4 之前的所有版本、从 15.3 开始到 15.3.2 之前的所有版本。允许经过身份验证的用户通过从 GitHub API 端点导入实现远程代码执行。 查看 gitlab 版本。(登录后才能…

keil logic analyzer使用

DARMSTM.DLL--- -pSTM32F103VC ---- TRAMSTM.DLL ------ -pSTM32F103VC 然后点击DEBUG按钮 用上面的名称USART1_SR 点击STUP 不同的引脚&#xff0c;用不同的名称&#xff0c;通过放大缩小来查看波形。当前串口用的是USART1_SR&#xff0c;只能用这个名称&#xff0c;…

海思刷机注意事项

目录 为什么写这个文档海思SOC刷机原理1.串口缓冲区关闭2.IP地址自动更改导致无法烧录3.烧录完成后找不到根文件系统4.由于电源设计不合理导致无法烧录 为什么写这个文档 海思SOC刷机时,偶然会遇到奇奇怪怪的问题,会刷机不上.现在总结一下. 海思SOC刷机原理 如果没有任何程序…

VUE--组件通信(非父子)

一、非父子通信 --- event bus 事件总线 作用&#xff1a;非父子组件之间进行简易的消息传递 步骤&#xff1a; 1、创建一个都能访问到的事件总线&#xff08;空vue实例&#xff09;--- utils/EventBus.js import Vue from vue export default new Vue({}) 2、 接收方&…

day5:IO多路复用

思维导图 TCP并发服务器的IO复用poll函数实现 #include <head.h> #define SER_PORT 8888 #define SER_IP "192.168.232.133" int main(int argc, const char *argv[]) {int sfdsocket(AF_INET,SOCK_STREAM,0);if(sfd-1){perror("sfd error:");retur…