前言
我其实是Emby老玩家了,之前是只看不搭建也不集服。最近站内涌现了好多Emby相关的帖子,但是同时也发现站外有好多打着公益的名号,实际却靠卖白名单赚钱的服务器,价格少则几十多则一千,吸引不少人购买,结合前些天MisakaF跑路的教训,证明了白名单模式是没有保障的,今天还在的大楼可能明天就会崩塌,建议大家不要为白名单付费,自己搭建丰衣足食,故出了此篇教程。
如果教程中出现了令你困惑的部分,请阅读我的博客,里面可能会找到对你有用的信息:
Emby 搭建指南
Rclone Docker 搭建指南
0.软件
https://hub.docker.com/r/amilys/embyserver
下载镜像并启动,放行8096端口即可
docker pull amilys/embyserver
1.Emby安装
1.1 启动容器
docker run -d --name emby \
-p 8096:8096 \
amilys/embyserver
2.挂载网盘为本地磁盘
2.1 安装Alist
docker run -d --restart=unless-stopped -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
2.2 安装Rclone
镜像
docker pull rclone/rclone:latest
卸载目录
fusermount -uz /home/alist
创建目录
mkdir -p /home/alist
Docker Run
docker run -d \
--name rclone-mount \
--restart=unless-stopped \
--device /dev/fuse \
--cap-add SYS_ADMIN \
--security-opt apparmor:unconfined \
--privileged \
--cpus=1.5 \
--memory=1500m \
--memory-swap=1500m \
--volume ~/.config/rclone:/config/rclone \
--volume /home/alist:/home/alist:shared \
--volume /home/rclonecache:/home/rclonecache:shared \
--volume /etc/passwd:/etc/passwd:ro \
--volume /etc/group:/etc/group:ro \
rclone/rclone mount alist: /home/alist \
--config /config/rclone/rclone.conf \
--copy-links \
--allow-other \
--umask 000 \
--allow-non-empty \
--vfs-cache-mode writes \
--cache-dir=/home/rclonecache \
--buffer-size 32M \
--vfs-read-ahead 32M \
--vfs-read-chunk-size 16M \
--vfs-read-chunk-size-limit 32M \
--vfs-cache-max-size 0.5G \
--transfers 5 \
--checkers 5 \
--drive-chunk-size 32M \
--no-gzip-encoding \
--attr-timeout 1s \
--vfs-cache-max-age 10m \
--log-level INFO \
--log-file /config/rclone/rclone.log
其他可选的资源限制参数:
# CPU 相关
--cpu-shares=1024 # CPU 份额(相对权重)
--cpu-period=100000 # CPU CFS 周期
--cpu-quota=150000 # CPU CFS 配额(相当于 1.5 核)
# 内存相关
--memory-reservation=1200m # 内存软限制
--kernel-memory=100m # 内核内存限制
--oom-kill-disable # 禁止 OOM Killer
# IO 相关
--blkio-weight=500 # 块 IO 权重(10-1000)
--device-read-bps # 限制读取速率
--device-write-bps # 限制写入速率
如果需要其他资源控制,可以添加这些参数:
docker run -d \\
# ... 其他参数 ...
--cpus=1.5 \\
--memory=1500m \\
--memory-swap=1500m \\
--memory-reservation=1200m \\
--cpu-shares=1024 \\
--blkio-weight=500 \\
# ... 其他参数 ...
监控资源使用情况:
# 查看容器资源使用
docker stats rclone-mount
# 查看详细信息
docker inspect rclone-mount
进入容器的交互式终端
docker exec -it rclone-mount /bin/sh
配置:rclone config
挂载Rclone Alist
fusermount -u /home/alist
mkdir -p /home/alist
mkdir -p /home/rclonecache
rclone mount alist: /home/alist \
--copy-links \
--allow-other \
--umask 000 \
--allow-non-empty \
--vfs-cache-mode writes \
--cache-dir=/home/rclonecache \
--buffer-size 32M \
--vfs-read-ahead 32M \
--vfs-read-chunk-size 16M \
--vfs-read-chunk-size-limit 32M \
--vfs-cache-max-size 0.5G \
--transfers 5 \
--checkers 5 \
--drive-chunk-size 32M \
--no-gzip-encoding \
--attr-timeout 1s \
--vfs-cache-max-age 10m \
--daemon
3.流程优化
3.1 如果启用挂载,要在容器内添加相关目录
3.2 设置特权模式,以便加快加载速度
3.3 启用硬件加速,取消启用限制
3.4 刮削规范相关
建议设置命名格式
为了方便刮削和避免匹配错误,建议采用以下格式:
- 电视剧、动漫、综艺:使用“剧名/季/集”的形式。例如:
白砂的水族馆/Season 1/S1E01.mp4
这样可以避免匹配错误和不完整的刮削。
命名方式
-
电影:直接使用TMDB上的电影名称。例如:
周处除三害.mp4
-
电视剧、动漫、综艺:使用“剧名.SXXEYY”的格式。
- 例如:
甄嬛传.S01E01.mp4
表示第一季第一集。 - 特别篇用“S00”表示。例如:
甄嬛传.S00E20
表示特别篇第20集。
- 例如:
复杂命名
-
电影:以完整名字开头,后面加上相关信息。如果有同名电影,务必加上发行日期。
- 例如:
The.Irishman.爱尔兰人.2019.1080p.x264.mp4
- 例如:
-
电视剧:分集文件名以剧名开头,后面跟上季和集的信息。
- 例如:
Shameless.无耻之徒.S01E01.1080p.AMZN.WEB-DL.mkv
- 例如:
-
花絮、特别篇:季数设为0,指定集数。
- 例如:
Shameless.无耻之徒.S00E01.SneakPeek.1080p.AMZN.mkv
- 例如: