小雅服务的全家桶部署方案
📚 项目地址: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 访问地址能够自动更新,用户无须手动配置。
🔹 元数据服务更新:通过元数据服务自动更新 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 [1]。此脚本为发烧友专用,需具备一定问题解决能力
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 [2]
- • 部署小雅 Alist + Emby [3]
- • 部署小雅 Alist + Jellyfin [4]
- • 部署小雅 Alist + Emby + Jellyfin [5]
服务组件介绍
- • Alist [6]: 提供资源在线播放与 WebDav 服务
- • Metadata [7]: Emby 和 Jellyfin 的元数据管理
- • Emby [8]: 以家庭影视库的方式可视化展示 Alist 中的资源
- • Jellyfin [9]: 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 部署【不推荐】
- 创建数据卷
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,此密钥需配置到 metadata 和 Alist 服务,变量名为 EMBY_APIKEY
。
如果您觉得这篇文章对您有帮助,请帮忙点个在看,对我非常重要!谢谢支持!
引用链接
[1]
commit: https://github.com/monlor/docker-xiaoya/commits/main/
[2]
只部署小雅 Alist: https://github.com/monlor/docker-xiaoya/tree/main/docker-compose-alist.yml
[3]
部署小雅 Alist + Emby: https://github.com/monlor/docker-xiaoya/tree/main/docker-compose.yml
[4]
部署小雅 Alist + Jellyfin: https://github.com/monlor/docker-xiaoya/tree/main/docker-compose-jellyfin.yml
[5]
部署小雅 Alist + Emby + Jellyfin: https://github.com/monlor/docker-xiaoya/tree/main/docker-compose-all.yml
[6]
Alist: https://github.com/monlor/docker-xiaoya/tree/main/alist
[7]
Metadata: https://github.com/monlor/docker-xiaoya/tree/main/metadata
[8]
Emby: https://github.com/monlor/docker-xiaoya/tree/main/emby
[9]
Jellyfin: https://github.com/monlor/docker-xiaoya/tree/main/jellyfin