小雅全家桶部署
📚 项目地址:https://github.com/monlor/docker-xiaoya
💡使用 Docker Compose 以更优雅的方式来部署小雅服务,支持一键部署 Alist + Emby + Jellyfin,全平台支持,Linux/Windows/Mac/群晖,X86/Arm架构
功能特性
🚀 使用 Docker Compose 一键部署服务,兼容群晖,Linux,Windows,Mac,包含所有X86和Arm架构
✨ 部署alist+下载元数据+部署emby/jellyfin服务全流程自动,无需人工干预
🔹 Docker集成:所有脚本集成到Docker镜像中,避免了系统环境污染。
🔹 镜像合并:合并了jellyfin和emby的x86和arm镜像,部署时无需区分镜像名。
🔹 自动化脚本:集成云盘清理脚本到alist服务,无需单独部署。
🔹 环境配置简化:通过环境变量配置阿里云盘token,无需映射文件。
🔹 依赖检查自动化:jellyfin和emby启动时自动进行依赖检查,等待元数据下载完成后自动添加hosts。
🔹 设备兼容性:完全兼容所有能运行docker的x86和arm设备。
🔹 自动清理与同步:支持自动清理阿里云盘,自动同步小雅元数据。
🔹 自动更新地址:自动更新内部的alist,emby,jellyfin访问地址,无需手动配置。
🔹 元数据服务更新:通过metadata服务自动更新emby配置和元数据。
一键部署
部署或更新脚本
脚本支持重复执行
bash -c "$(curl -fsSL https://raw.githubusercontent.com/monlor/docker-xiaoya/main/install.sh)"
使用加速源(我的加速源也可能帮你减速🤣)
export GH_PROXY=https://gh.monlor.com/ IMAGE_PROXY=ghcr.monlor.com && bash -c "$(curl -fsSL ${GH_PROXY}https://raw.githubusercontent.com/monlor/docker-xiaoya/main/install.sh)"
卸载脚本
bash -c "$(curl -fsSL https://raw.githubusercontent.com/monlor/docker-xiaoya/main/uninstall.sh)"
使用加速源(我的加速源也可能帮你减速🤣)
export GH_PROXY=https://gh.monlor.com/ IMAGE_PROXY=ghcr.monlor.com && bash -c "$(curl -fsSL ${GH_PROXY}https://raw.githubusercontent.com/monlor/docker-xiaoya/main/uninstall.sh)"
自定义配置
【非必须,小白跳过这一步】脚本没有计划支持硬解,在我看来这个功能没有必要。如果你需要修改硬解,端口,数据目录,环境变量,请自行修改docker-compose.yml和env文件,修改完成后执行下面的命令,使配置生效。修改后注意:执行更新脚本会覆盖docker-compose.yml,不会覆盖env文件。
cd 你的安装目录
docker-compose up --remove-orphans -d
发烧友测试版
以下是测试版一键部署脚本,使用此脚本可以体验最新的功能,具体可以查看commit更新了哪些测试版专属功能,此脚本仅限发烧友使用,需要有一定的解决问题能力
export VERSION=main && bash -c "$(curl -fsSL ${GH_PROXY}https://raw.githubusercontent.com/monlor/docker-xiaoya/${VERSION:-main}/install.sh)"
部署配置推荐
部署方案 | CPU | 内存 | 硬盘 |
---|---|---|---|
Alist + Emby | 2核 | 4G | 150G |
仅部署 Alist | 1核 | 512M | 512M |
Alist + Emby + Jellyfin | 2核 | 4G | 200G |
Alist + Jellyfin | 2核 | 4G | 150G |
配置示例
服务组件介绍
- Alist: 提供资源在线播放,WebDav服务
- Metadata: Emby和Jellyfin的元数据管理
- Emby: 用家庭影视库的方式,可视化展示Alist中的资源
- Jellyfin: Emby的开源版本,功能是一样的
手动部署
仅展示小雅alist+emby的部署方式
使用Docker Compose
- 创建compose文件夹
mkdir /opt/xiaoya
cd /opt/xiaoya
- 下载配置
curl -#LO https://raw.githubusercontent.com/monlor/docker-xiaoya/main/docker-compose.yml
curl -#LO https://raw.githubusercontent.com/monlor/docker-xiaoya/main/env
- 修改配置env里面的阿里云盘相关变量,启动服务
docker compose up -d
- 查看日志
docker compose logs
使用docker部署【不推荐】
- 创建volume
docker volume create xiaoya
docker volume create media
docker volume create config
docker volume create meta
docker volume create cache
- 创建网络
docker network create xiaoya
- 启动小雅alist,修改下面的阿里云盘配置,再执行命令
docker run -d --name alist \
-v xiaoya:/data \
-p 5678:5678 -p 2345:2345 -p 2346:2346 \
-e TZ=Asia/Shanghai \
-e ALIYUN_TOKEN=阿里云盘TOKEN \
-e ALIYUN_OPEN_TOKEN=阿里云盘Open Token \
-e ALIYUN_FOLDER_ID=阿里云盘文件夹ID \
-e AUTO_UPDATE_ENABLED=true \
-e AUTO_CLEAR_ENABLED=true \
-e EMBY_ADDR=http://emby:6908 \
--network=xiaoya \
ghcr.io/monlor/xiaoya-alist
- 启动metadata用于元数据同步
docker run -d --name metadata \
-e LANG=C.UTF-8 \
-e EMBY_ENABLED=true \
-e JELLYFIN_ENABLED=false \
-e AUTO_UPDATE_EMBY_CONFIG_ENABLED=true \
-e ALIST_ADDR=http://alist:5678 \
-e EMBY_ADDR=http://emby:6908 \
-v xiaoya:/etc/xiaoya \
-v media:/media/xiaoya \
-v config:/media/config \
-v cache:/media/config/cache \
-v meta:/media/temp \
--network=xiaoya \
ghcr.io/monlor/xiaoya-metadata
- 启动emby服务
docker run -d --name emby
-e TZ=Asia/Shanghai \
-e GIDLIST=0 \
-e ALIST_ADDR=http://alist:5678 \
--privileged \
--device /dev/dri:/dev/dri \
-v media:/media \
-v config:/config \
-v cache:/cache \
-p 6908:6908 \
--network=xiaoya \
ghcr.io/monlor/xiaoya-embyserver
- 查看日志
docker logs alist
docker logs metadata
docker logs emby
安全建议
🔹 开启alist的登陆,alist服务设置FORCE_LOGIN=true
,设置webdav的密码WEBDAV_PASSWORD
🔹 在emby控制台修改ApiKey,这个key需要配置到metadata和alist服务,变量名:EMBY_APIKEY
83 条评论
独特的构思和新颖的观点,让这篇文章在众多作品中脱颖而出。
结论部分可提出实际应用建议,提升价值。
大佬您好,目前我遇到了一个问题,在env中填写115pan—cookie之后,重构时可以看到提示有效的cookie和会员识别,但是获取直链不成功。cookie从ios客户端抓包取得,在alist标准版测试没有问题,可以正常播放,但是在小雅中提示{"state":false,"error":"请重新登录","errno":99,"request":"/app/share/downurl?t=1739445771","data":[]}: user not login。请问我应该怎么解决呢。(☆ω☆)
你的文章充满了欢乐,让人忍不住一笑。 https://www.4006400989.com/qyvideo/40579.html
你的文章充满了欢乐,让人忍不住一笑。 https://www.yonboz.com/video/27716.html
博主你好 我有个疑问
阿里云盘自动清理间隔是0-60分钟如果想改成 180分钟怎么改 忘指教
因为有些电影是超过60分钟的时长的,还没看完 直链就没有了
你的文章充满了欢乐,让人忍不住一笑。 http://www.55baobei.com/ybg9nHvVjb.html
你的文章让我学到了很多技能,非常实用。http://www.ytjzzx.cn
博主,一直提示我元数据“获取目录失败,这个要怎么搞
metadata-1 | Link is http://alist:5678/d/元数据/config_jf.mp4
metadata-1 |
metadata-1 | 09/24 10:30:50 [NOTICE] Downloading 1 item(s)
alist-1 | 获取目录失败: object not found
metadata-1 |
metadata-1 | 09/24 10:30:50 [NOTICE] Download complete: /media/temp/config_jf.mp4
metadata-1 |
metadata-1 | Download Results:
metadata-1 | gid |stat|avg speed |path/URI
metadata-1 | ======+====+===========+=======================================================
metadata-1 | df7675|OK | 1.5KiB/s|/media/temp/config_jf.mp4
metadata-1 |
metadata-1 | Status Legend:
metadata-1 | (OK):download completed.
metadata-1 | Download config_jf.mp4 failed, file size less than 10M, retry after 10 seconds.
metadata-1 | Downloading config_jf.mp4, try 5...
metadata-1 | Link is http://alist:5678/d/元数据/config_jf.mp4
metadata-1 |
metadata-1 | 09/24 10:31:00 [NOTICE] Downloading 1 item(s)
alist-1 | 获取目录失败: object not found
metadata-1 |
metadata-1 | 09/24 10:31:00 [NOTICE] Download complete: /media/temp/config_jf.mp4
metadata-1 |
metadata-1 | Download Results:
metadata-1 | gid |stat|avg speed |path/URI
metadata-1 | ======+====+===========+=======================================================
metadata-1 | cc35b9|OK | 2.8KiB/s|/media/temp/config_jf.mp4
metadata-1 |
metadata-1 | Status Legend:
metadata-1 | (OK):download completed.
metadata-1 | Download config_jf.mp4 failed, file size less than 10M, retry after 10 seconds.
metadata-1 | Download config_jf.mp4 failed.
大佬,这边的项目目前是停止更新了吗
xiaoya-alist-1 | 获取目录失败: object not found
xiaoya-alist-1 | 获取目录失败: object not found
xiaoya-alist-1 | 获取目录失败: object not found
xiaoya-alist-1 | 获取目录失败: object not found
xiaoya-alist-1 | 获取目录失败: object not found
xiaoya-alist-1 | 获取目录失败: object not found
xiaoya-alist-1 | 获取目录失败: object not found
已经安装了小雅+emby,现在继续安装小雅+emby+jellyfin 一直提示这个。有点晕。
解决了吗?我也遇到同样的问题了。我设置了文件夹的权限也是不行,是不是网络问题哦
大佬,请问env里的ali token和opentoken字段,值需要加双引号吗? 我发现每次./manage.sh reload 或者单独重启alist 的容器后, Ali的token和opentoken都不是我写进env的,每次我都得手动进/opt/xiaoya/data/xiaoya去修改这两个token。
请问ALIST后面的用户名和密码在哪里看?网上找的.alist admin 在用SSL连接的时候报错,小白请教!!
求问博主,现在阿里转存115在alist网页端播放正常,但启动emby客户端却一直转圈无法播放,查看docker后台也没有任何调用阿里的进程,emby_server里的地址是http://172.18.0.2:6908 求问该怎么解决这个emby不能正常播放的问题?谢谢!
ip改成你docker宿主机实际ip试试
请问转存到115以后,是可以自动调用115链接播放,还是得从挂载的115网盘进去重新播放
目前阿里云盘推出了第三方应用权益包的月套餐,不付费就限速,问题是,付费了也只有1T,如果是刷剧,一下子就没了。楼主可以出个方便修改到夸克或者115的方法不?
博主大大好!按您这个部署方法安装完成后,怎么添加ali2115.txt(阿里云转存115)并生效啊?
我之前用过其他alist+emby确定是可以用emby播放阿里转存到115网盘的视频的,但您这个我找不到地方添加啊?配置文件不知道怎么改,将ali2115.txt放到默认目录 /opt/xiaoya/,重启docker服务也没生效。
我是安装在ubuntu24.04上的(一台笔记本划了240G空间),安装的您的alist+Emby一键部署。
阿里云我充了一个月的svip试验,测试是还是限速的,在alist网页端能播放,但卡(380kb/s),所以就非常需要转存到115网盘。您这个方案很好,但就是差了这个转存115网盘的设置,请教该如何设置添加转存115网盘?急!万分感谢!
ali2115.txt的内容如下:
purge_ali_temp=true
cookie="USERSESSIONID=xxx"
purge_pan115_temp=true
dir_id=0
进alist容器的/etc/xiaoya目录,自己添加该文件重启就好了
那容器重启后,ali2115.txt 是不是就丢失了呢?怎么参映射到Nas本地的目录呢?OωO
搞定了,原来是进容器操作,还以为是像之前那些操作直接复制到本地文件夹。谢谢博主!
ヾ(≧∇≦*)ゝ
照博主说的放在/etc/xiaoya下了,但还是限速500K?另外我是笔记本电脑装的ubuntu系统,就放这个目录没问题吧?没放在var/lib/docker目录下
谢谢,这就试试!
有个关于emby路径的小问题,部署emby docker参数 -v config:/config -v cache:/cache,请问emby这里的两个路径代表什么意思,配置在哪里啊?
这是用的docker 卷,用docker volume命令创建的,你也可以映射在本地文件夹
这个cache映射感觉是多余的?这样映射后实际emby容器并没有用到/cache,其实还是使用的 /config/cache
請問版主大大,這個組合會用到那些PORT呢,因為一開群暉防火牆,就不能用,要把群暉防火牆關掉才能更新...
5678 2345 2346 6908 8096
大大晚上好,感謝大大回答,可以再請問大大,如果一開始用Alist + Emby ,後來想增加 Jellyfin,是可以直接重執行一鍵程序選4嗎...還是要選3...或是只能推倒重頭來過了??
不会重新来,可以随时重新执行安装脚本来修改安装类型