小雅全家桶部署

📚 项目地址: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

  1. 创建compose文件夹
mkdir /opt/xiaoya
cd /opt/xiaoya
  1. 下载配置
curl -#LO https://raw.githubusercontent.com/monlor/docker-xiaoya/main/docker-compose.yml
curl -#LO https://raw.githubusercontent.com/monlor/docker-xiaoya/main/env
  1. 修改配置env里面的阿里云盘相关变量,启动服务
docker compose up -d
  1. 查看日志
docker compose logs

使用docker部署【不推荐】

  1. 创建volume
docker volume create xiaoya
docker volume create media
docker volume create config
docker volume create meta
docker volume create cache
  1. 创建网络
docker network create xiaoya
  1. 启动小雅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 
  1. 启动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
  1. 启动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
  1. 查看日志
docker logs alist
docker logs metadata
docker logs emby

安全建议

🔹 开启alist的登陆,alist服务设置FORCE_LOGIN=true,设置webdav的密码WEBDAV_PASSWORD

🔹 在emby控制台修改ApiKey,这个key需要配置到metadata和alist服务,变量名:EMBY_APIKEY

最后修改:2024 年 06 月 04 日
如果觉得我的文章对你有用,请我喝杯咖啡吧☕️~