用Docker单独安装xiaoya-alist

server/2024/10/7 23:21:48/

在这里插入图片描述

五一快到了,每到节假日,各个景点就人头攒动,就不出门添堵了,准备在家看看电影、喝喝茶

看电影老苏喜欢用播放器,Native客户端的功能是网页端没法比的,Windows 上用的 PotPlayerMac 上则用 IINAAndroid 上就用 AfuseKt,都是神器

以前都是玩客云下载,局域网 SMB 映射,看完就删,不过玩客云已经终止了服务。现在基本上是通过转存到阿里云盘,用 WebDAV 挂载了再看的

老苏现在的需求是:

  1. 不需要下载,因为浪费时间,也浪费空间
  2. 不需要 Jellyfin 类的媒体服务器,海报墙是可有可无的
  3. 最好也不需要转存,因为活动结束,阿里云盘免费空间越来越小了

找了一圈,能满足需求的只有 xiaoya 了,有个 DDS-Derek/xiaoya-alist 的项目,整合了小雅 Alist 的相关周边的安装脚本,内置所有相关软件的安装

只要一条命令就可以安装你心中所想,不想折腾的可以去看看,项目地址:https://github.com/DDS-Derek/xiaoya-alist

老苏还是一如既往喜欢瞎折腾,继续以 Docker 方案折腾

准备

不管用什么方式安装,都需要先准备好三个文件,否则就是安装完,也还是需要重启容器的

内容对应文件获取方式
tokenmytoken.txthttps://aliyuntoken.vercel.app/
https://alist.nn.ci/zh/guide/drivers/aliyundrive.html
open tokenmyopentoken.txt https://alist.nn.ci/tool/aliyundrive/request.html
转存目录的 folder idtemp_transfer_folder_id.txt先转存这个 https://www.aliyundrive.com/s/rP9gP3h9asE 到自己网盘(选择资源盘),然后浏览器打开转存后的目录,浏览器的 url https://www.aliyundrive.com/drive/file/resource/640xxxxxxxxxxxxxxxxxxxca8a 最后一串就是,记得这个目录不要删,里面的内容可以定期删除

下面具体介绍获取方式,切记,token 很重要,一定要保存好

mytoken.txt

刷新令牌是个 32 位长的字符。打开下面👇的网址,然后点 获取Token 按钮

https://alist.nn.ci/zh/guide/drivers/aliyundrive.html#刷新令牌

用阿里云盘手机 APP 扫描二维码

将箭头处出现的 Token,复制到 mytoken.txt文件保存

myopentoken.txt

open token 是一串很长的字符,打开下面👇的网址,然后点 Scan QrCode 按钮

https://alist.nn.ci/tool/aliyundrive/request.html

用阿里云盘手机 APP 扫描二维码,然后点 I have scan

将得到的 Refresh Token ,复制到 myopentoken.txt 文件保存

temp_transfer_folder_id.txt

登陆自己的阿里云盘网页版,在【资源库】里面新建一个文件夹,名字无所谓的,老苏建了个temp

点击 temp 文件夹,可以在浏览器上地址栏看到 resource 后面的一串字符

这串字符就是 folder id ,复制到 temp_transfer_folder_id.txt文件保存

有一点需要注意,这个目录如果删了,哪怕你重建了一个名称一样的目录, folder id 也是不一样的,需要更新temp_transfer_folder_id.txt,否则转存的时候就会出错

安装

群晖上以 Docker 方式安装。

在注册表中搜索 xiaoyaliu ,选择第一个 xiaoyaliu/alist,版本选择 latest

容器名称

后面还会用到容器的名称,所以这里就叫 xiaoya

docker 文件夹中,创建一个新文件夹 xiaoya,并在其中建一个子文件夹 data,将前面准备的三个文件,放入 data 目录

文件夹装载路径说明
docker/xiaoya/data/data存放配置文件

端口

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

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
876580

默认没有暴露端口

需要点 + 号自行添加

命令行安装

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

# 新建文件夹 xiaoya 和 子目录
mkdir -p /volume1/docker/xiaoya/data# 进入 xiaoya 目录
cd /volume1/docker/xiaoya# 将 mytoken.txt 、 myopentoken.txt 、 temp_transfer_folder_id.txt 放入 /data 目录# 运行容器
docker run -d \--restart unless-stopped \--name xiaoya \-p 8765:80 \-v $(pwd)/data:/data \xiaoyaliu/alist

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

version: '3'services:xiaoya:image: xiaoyaliu/alistcontainer_name: xiaoyarestart: unless-stoppedports:- 8765:80volumes:- ./data:/data

然后执行下面的命令

# 新建文件夹 xiaoya 和 子目录
mkdir -p /volume1/docker/xiaoya/data# 进入 xiaoya 目录
cd /volume1/docker/xiaoya# 将 mytoken.txt 、 myopentoken.txt 、 temp_transfer_folder_id.txt 放入 /data 目录# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

查看容器的日志,如果准备的三个文件正确的话,会看到数据同步的信息

这个过程可能会持续几分钟,在浏览器中输入 http://群晖IP:8765 ,如果显示 获取设置失败,那还得再等等

全部元数据加载成功后是下面👇这样的

现在就可以正常看电影了

这个时候看 /data 目录,会多出几个文件

WebDAV 挂载

前面已经交代过,老苏习惯用播放器看电影,所以还需要做 WebDAV 挂载,xiaoya 默认是支持 WebDAV

默认的地址:http://群晖IP:8765/dav
用户:guest
密码:guest_Api789

Windows 平台的 RaiDrive 为例

挂载成功后,就可以在资源管理器中找到文件进行播放了

定时重启

xiaoya 容器重启时,会自动更新数据库及搜索索引文件,所以我们要用群晖任务计划 来辅助实现容器的定时重启

创建一个任务

可以设定每天重启一次

脚本直接写 docker restart xiaoya,其中 xiaoya 是容器的名字

清理转存

每一次的播放,xiaoya 都会将文件转存到我们前面建的 temp 目录,随便点点就会发现多了一堆的文件,哪怕是同一个文件,也是会重新转存的

所以清理就很重要,一旦阿里云盘满了,是会报错的。在前面介绍的 DDS-Derek/xiaoya-alist 中,有一个清理脚本

地址:https://github.com/DDS-Derek/xiaoya-alist/tree/master/xiaoyahelper

可以直接运行 bash -c "$(curl -sLk https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 3

老苏用的模式 3,只要运行一次,如果看到已启动就表示成功了

也可以下载到本地运行 ./aliyun_clear.sh 3

当看到小雅看护已启动,你会在容器中找到 xiaoyakeeper 容器

清理并不会立即就执行,容器会安装并更新一些东西

网络不好的情况下,还是需要点时间的

每次清理都会有清理记录

按官方说明,模式 3 默认从运行脚本的下一分钟开始,每天运行一次。如果万一不能更新的话,可以参照前面的方法,让 xiaoyakeeper 容器每天定时重启

参考文档

DDS-Derek/xiaoya-alist: 小雅Alist的相关周边
地址:https://github.com/DDS-Derek/xiaoya-alist

Docker Hub
地址:https://hub.docker.com/r/xiaoyaliu/alist

如何设置xiaoya的docker
地址:https://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f


http://www.ppmy.cn/server/35260.html

相关文章

vscode创建第一个vue项目步骤

一、标题先创建项目需要放置的文件夹,打开VSCode 1、首先在终端框进行输入vue create 项目名称 如果出现下面提示进行如下操作vue : 无法加载文件 D:\develop\node\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.mic…

高等数学笔记(下中)

曲线积分 第一类曲线积分:对弧长的积分计算方法 定理:设 f ( x , y ) f(x,y) f(x,y)在曲线弧 L L L上有定义且连续, L L L的参数方程是 { x φ ( t ) y ψ ( t ) ( α ≤ t ≤ β ) \begin{cases} x\varphi(t)\\ y\psi(t) \end{cases}(\a…

接口自动化测试之-requests模块详解

一、requests背景 Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。 二、requests安装 利用p…

docker安装RabbitMQ

1:Docker 安装 RabbitMQ (带管理后台) docker pull rabbitmq:3.10.1-management docker run -di --name rabbitmq -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -p 15672:15672 -p 5672:5672 rabbitmq:management2:使用Docker Compose…

【48天笔试强训】day18

题目1 描述 有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。 例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。 一月的时候有一只兔子,假如兔子都…

QtConcurrent::run操作界面ui的注意事项(1)

先说结论:QtConcurrent::run启动的耗时处理函数,不允许处理ui界面对象,如控件,如进度条等等! QtConcurrent::run非常好用,胜过QThead的两种方式(run和moveToThread),例如…

VTK(Activiz)场景应用:将离散点构建三角网、等值线、颜色渲染、等值线值标注

原文链接:https://www.cnblogs.com/billygisboy/p/17415588.html 1 概括 VTK将离散点构建三角网并进行颜色渲染,生成等值线,对等值线的值进行标注 现阶段了解下,对已有离散点进行三角剖分构建三角网,并进行具有实际…

使用Docker安装Jenkins

大家好,今天给大家分享如何使用docker安装jenkins,关于docker的安装和常用命令可以参考下面两篇文章,使用docker可以提高资源利用率,能够在不同的环境中轻松迁移和部署应用,在本文中就不过多赘述了。 Docker常用命令 …