docker-xiaoya - 小雅全家桶部署Docker实现的家庭影音服务器一键部署方案
目录
功能特性
🚀 使用 Docker Compose 一键部署服务,兼容群晖,Linux,Windows,Mac,包含所有X86和Arm架构
✨ 部署alist+下载元数据+部署emby/jellyfin服务全流程自动,无需人工干预
所有脚本集成到 Docker 镜像,避免污染系统环境
合并jellyfin和emby的x86和arm镜像,部署时无需区分镜像名
自动清理阿里云盘,默认每10分钟一次
自动更新小雅alist中的云盘数据,默认每天一次
自动更新emby服务配置,默认每周一次
自动更新emby媒体数据,默认每天一次
支持小雅夸克网盘资源,挂载自定义夸克网盘资源
支持小雅PikPak网盘资源,挂载自定义PikPak资源
支持小雅阿里云盘资源,挂载自定义阿里云盘资源
支持WebDav,TvBox服务
[Beta]适配Armv7设备,包括alist, emby和jellyfin
提问规则
提BUG和需求,在 Issues 里提
相关问题讨论或其他内容,在 Discussions 里提
一键部署
部署或更新脚本
脚本支持重复执行
bash -c "$(curl -fsSL raw.githubuserconten...)"
使用加速源
export GH_PROXY=gh.monlor.com/ IMAGE_PROXY=ghcr.monlor.com && bash -c "
环境信息
卸载脚本
bash -c "$(curl -fsSL raw.githubuserconten...)"
使用加速源
export GH_PROXY=gh.monlor.com/ IMAGE_PROXY=ghcr.monlor.com && bash -c "
自定义配置
【非必须,小白跳过这一步】脚本没有计划支持硬解,在我看来这个功能没有必要。如果你需要修改硬解,端口,数据目录,环境变量,请自行修改docker-compose.yml和env文件,修改完成后执行下面的命令,使配置生效。修改后注意:执行更新脚本会覆盖docker-compose.yml,不会覆盖env文件。
cd 你的安装目录
docker-compose up --remove-orphans -d
发烧友测试版
以下是测试版一键部署脚本,使用此脚本可以体验最新的功能,具体可以查看commit更新了哪些测试版专属功能,此脚本仅限发烧友使用,需要有一定的解决问题能力
export VERSION=main && bash -c "
部署配置推荐
部署方案 | CPU | 内存 | 硬盘 |
---|---|---|---|
Alist + Emby | 2核 | 4G | 140G |
仅部署 Alist | 1核 | 512M | 512M |
Alist + Emby + Jellyfin | 4核 | 8G | 300G |
Alist + Jellyfin | 4核 | 8G | 155G |
配置示例
服务组件介绍
Alist: 提供资源在线播放,WebDav服务
Metadata: Emby和Jellyfin的元数据管理
Emby: 用家庭影视库的方式,可视化展示Alist中的资源
Jellyfin: Emby的开源版本,功能是一样的
手动部署
仅展示小雅alist+emby的部署方式
使用Docker Compose
创建compose文件夹
mkdir /opt/xiaoya
cd /opt/xiaoya
下载配置
curl -#LO raw.githubuserconten...
curl -#LO raw.githubuserconten...
修改配置env中的阿里云盘相关变量,启动服务
docker compose up -d
查看日志
docker compose logs
在 Kubernetes 上部署
安装helm
curl raw.githubuserconten... | bash
安装helmfile
ver=0.161.0
curl -LO github.com/helmfile/...
tar zxvf helmfile_${ver}_linux_arm64.tar.gz -C helmfile
mv helmfile/helmfile /usr/local/bin
rm -rf helmfile helmfile_${ver}_linux_arm64.tar.gz
helm plugin install github.com/databus23...
下载helmfile配置
curl -#LO raw.githubuserconten...
修改helmfile的环境变量,环境变量含义请查看alist
env:
...
WEBDAV_PASSWORD:
ALIYUN_TOKEN:
ALIYUN_OPEN_TOKEN:
ALIYUN_FOLDER_ID:
QUARK_COOKIE:
PAN115_COOKIE:
PIKPAK_USER:
...
部署helm服务
helmfile sync -f helmfile.yaml
使用docker部署【不推荐】
创建卷
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 QUARK_COOKIE=夸克网盘cookie \
-e AUTO_UPDATE_ENABLED=true \
-e AUTO_CLEAR_ENABLED=true \
--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 \
-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 \
-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服务设置webdav的密码
WEBDAV_PASSWORD
在emby控制台修改ApiKey,这个key需要配置到metadata和alist服务,变量名:
EMBY_APIKEY
许可证
本项目采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
参考
https://github.com/DDS-Derek/xiaoya-alist
https://www.kdocs.cn/l/cvEe3cv6dGkH
https://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f
最后编辑:admin 更新时间:2024-12-24 15:16