用Docker单独安装xiaoya-alist

embedded/2025/4/1 23:05:50/

在这里插入图片描述

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

看电影老苏喜欢用播放器,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/embedded/28435.html

相关文章

Web3应用:DeFi是什么?有什么用?

Web3,也被称为第三代互联网,是基于区块链技术的去中心化网络。它旨在创建一个不依赖于中心化服务提供商的互联网,赋予用户更大的数据所有权和控制权。而DeFi,即去中心化金融(Decentralized Finance)&#x…

# 从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(3)

从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(3) 一、hystrix:通过 Actuator 获取 hystrix 的监控数据 1、Hystrix 的监控平台介绍: 1)Hystrix 除了实现容错功能,Hystrix 还…

Java实现以图识图功能模块(简单案例)

由于完整的以图识图系统代码较长且复杂,这里仅提供使用OpenCV进行特征提取和比较的简化版示例代码。 1. 引入OpenCV Java库 首先,你需要在项目中引入OpenCV的Java库。这通常涉及将OpenCV的jar包添加到项目的类路径中。 2. 提取图像特征 使用OpenCV的…

LabVIEW高效目标跟踪系统

LabVIEW高效目标跟踪系统 随着机器视觉技术的飞速发展,设计和实现高效的目标跟踪系统成为了众多领域关注的焦点。基于LabVIEW平台,结合NI Vision机器视觉库,开发了一种既高效又灵活的目标跟踪系统。通过面向对象编程方法和队列消息处理器程序…

基于springboot+vue+Mysql的网上商城购物系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

RTMP 直播推流 Demo(二)—— 音频推流与视频推流

音视频编解码系列目录: Android 音视频基础知识 Android 音视频播放器 Demo(一)—— 视频解码与渲染 Android 音视频播放器 Demo(二)—— 音频解码与音视频同步 RTMP 直播推流 Demo(一)—— 项目…

hyperf跨域问题

2024年4月25日10:11:30 前段时间写完了hyperf的cms之后,回头写hyperf的一些文章或者笔记,发现hyperf和laravel真的很像,又有swoole的协程使用,真的很舒服,还有微服务。 官方推荐的是方式就是使用中间件,但…

ubuntu22.04安装DBeaver可视化数据库管理工具

要在 Ubuntu 22.04 上安装 DBeaver,您可以选择使用 Ubuntu 软件中心的图形界面方法或使用命令行方法通过官方 DBeaver 仓库或 Snap 包安装。以下是通过命令行使用这两种方法的详细步骤: 方法 1:从官方仓库安装 DBeaver 添加 DBeaver 仓库&am…