1 alist
1.1 作用
- 网盘挂载,可通过webdav的方式访问
- 网盘302重定向
1.2 docker部署
mkdir -p /media/docker/alist
docker run -d \
--restart=always \
-v /volume2/docker_dir/alist:/opt/alist/data \
-p 5244:5244 \
-p 6800:6800 \
-e PUID=0 \
-e PGID=0 \
-e UMASK=022 \
--name=alist \
-e TZ=Asia/Shanghai \
xhofe/alist-aria2:latest
2 cd2
2.1 作用
- 网盘挂载,可通过本地映射路径访问(这里也可以用rclone,但是据其他博主说rclone的速度会比cd2慢)
- 套娃挂载alist的webdav,以支持cd2暂不支持的网盘(如夸克网盘等)
2.2 docker部署
注意点:
这里映射了两个媒体目录,一个是cloud_media
,一个是webdav_media
。
cloud_media
用于挂载支持302重定向的网盘,如115,天翼等;webdav_media
用于挂载如夸克网盘等;
docker部署前请确认docker开启了fuse

version: '3'
services:
clouddrive:
image: cloudnas/clouddrive2
container_name: clouddrive
restart: unless-stopped
environment:
- CLOUDDRIVE_HOME=/Config
volumes:
- /volume2/Media/mp_downloads:/CloudNAS:shared
- /volume2/Media/cloud_media:/media:shared
- /volume2/Media/webdav_media:/webdav_media:shared
- /volume1/docker_dir/clouddrive2:/Config
ports:
- "8097:19798"
pid: "host"
privileged: true
devices:
- /dev/fuse:/dev/fuse
3 auto_symlink
3.1 作用
- 实时监控目录变化,扫盘,入库
3.2 docker部署
需注意:
- volume内的宿主机和容器路径最好一一对应,否则可能出现emby内软链接跳转失败的问题
- 支持302重定向的网盘和其他网盘的根路径要分开,否则在emby播放时,其他网盘的资源会无法播放
version: '3'
services:
auto_symlink:
image: shenxianmq/auto_symlink:latest
container_name: auto_symlink
environment:
- TZ=Asia/Shanghai
volumes:
- /volume2/Media/cloud_media:/volume2/Media/cloud_media:rslave # cd2挂载目录
- /volume2/Media/webdav_media:/volume2/Media/webdav_media:rslave
- /volume2/Media/strm:/volume2/Media/strm # emby扫描媒体目录
- /volume2/Media/webdav_strm:/volume2/Media/webdav_strm
- /volume1/docker_dir/auto_symlink/config:/app/config
ports:
- "8095:8095"
user: "0:0"
restart: unless-stopped
3.3 网页配置

4 emby
4.1 docker部署
需注意:
- emby媒体库只需添加包含strm的相关文件夹
- emby不要开启转码
version: '3'
services:
emby-server:
image: amilys/embyserver
container_name: emby-local
network_mode: bridge # DLNA and Wake-on-Lan需要bridge
environment:
- UID=0 # 设置容器用户 ID 为 0 (通常是 root)
- GID=0 # 设置容器组 ID 为 0 (通常是 root)
- GIDLIST=0 # 设置容器组 ID 列表为 0
- TZ=Asia/Shanghai # 设置容器的时区为亚洲/上海
devices:
- /dev/dri:/dev/dri # 将主机的 /dev/dri 设备挂载到容器 开启硬解
ports:
- 8096:8096 # 对外访问端口
restart: unless-stopped
privileged: true
volumes:
- /volume1/docker_dir/emby_local/config:/config
- /volume2/Media/cloud_media:/volume2/Media/cloud_media
- /volume2/Media/local_media:/volume2/Media/local_media
- /volume2/Media/webdav_media:/volume2/Media/webdav_media
- /volume2/Media/webdav_strm:/webdav_strm # 其他网盘的strm(夸克等)
- /volume2/Media/strm:/strm # 支持302重定向的网盘strm(115,天翼等)
5 emby2alist
5.1 作用
- 通过nginx重定向资源地址,将原先strm文件指向的挂载路径如
/volume2/Media/cloud_media/115
直接指向 alist路径下的/115
,从而实现302重定向网盘资源 - 由于之前将两种网盘资源分开存放,这里只会匹配支持重定向网盘的根路径,其他网盘仍然会通过挂载在本地的
/volume2/Media/webdav_media
路径进行访问
5.2 部署
wget https://github.com/bpking1/embyExternalUrl/archive/refs/tags/v0.4.5.tar.gz
tar -zxvf v0.4.5.tar.gz
cd embyExternalUrl-v0.4.5/
cd emby2Alist
# modify nginx/conf.d/constant.js
# 参考下图1配置
# embyHost如果是本地docker部署的,就是图中的http://172.17.0.1:8096(端口自行确认)
# modify nginx/conf.d/config/constant-mount.js
# 参考下图2配置
# alistAddr如果是本地docker部署的,就是图中的http://172.17.0.1:5244(端口自行确认)
# modify nginx/conf.d/config/constant-pro.js
# 参考下图3配置
# 待替换路径需确认emby媒体库内资源路径和alist内的路径,填写多出来的部分(仅限支持302重定向的网盘资源)
nginx/conf.d/constant.js

nginx/conf.d/config/constant-mount.js

nginx/conf.d/config/constant-pro.js

5.3 常见问题
5.3.1 115资源无法播放
nginx-emby容器内日志如下:
[warn] 21#21: *155 js: redirect to: /d/115/xxx
5.3.1.1 原因
匹配到emby2alist里的115规则,并使用alist公网地址进行转发

5.3.1.2 临时解决方案
屏蔽位于constant-mount.js
内clientSelfAlistRule
中与115有关的规则

© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容