如何通过阿里云盘自建简单的emby服务器

发布于 / 教程 / 如何通过阿里云盘自建简单的emby服务器已关闭评论


前提条件
有大容量的阿里云盘并且开启会员和高速流量(劝退),并且要购买clouddrive2会员,有一台2C4G以上配置的vps机器,物质成本大约600元/年。另外有大量额外的时间成本,不如直接购买影视VIP方便,还是老老实实买NAS吧,坑大!!!
流程图 & 原理介绍——编辑中

通过 alist 将 阿里云 网盘资源转成可以通过网络编辑和管理 webdav 协议。

通过 clouddrive2 将 webdav 协议的资源挂载到本地硬盘

embyserver 读取、刮削、入库 「2」 挂载好的资源

安装 nginx 实现对访问 embyserver 的流量进行转发、重写。将: 静态资源转发到 embyserver 服务上,视频资源的访问直接转发到 alist,从而利用 alist 的 302 转发实现直接访问网盘资源。(如图,少走了 alist -> webdav -> rclone -> emby 的过程,实现不走主机流量,直连网盘)

安装
测试服务器: 阿里云服务器

测试环境: 纯 docker

建议跟着我的步骤来,打开一个记事本,记录所有教程中要求记下的值(我会以红色标记)

  • 安装 alist
  • 
    docker run -d --restart=always -v /home/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e LMASK=022 --name=alist xhofe/alist:latest
    

    设置密码

    
    docker exec -it alist ./alist admin set password
    

    记录 alist 帐号密码,示例: admin, password

    访问 http://外网ip:5244, 登录管理后台,添加 115 网盘,按需配置,对配置项不太理解的朋友建议直接抄我的

    记录: alist 外网地址,示例: http://119.119.119.119
    115网盘.png记录 alist token 值,示例: alist-56aed914-dc75-4exxxxx

    alist.png

    记录 alist 内网 IP 地址,示例: 172.17.0.2

    docker inspect –format=”{{.NetworkSettings.Networks.bridge.IPAddress}}” alist

  • 安装clouddrive2
  • 待编辑待编辑待编辑

  • 安装 embyserver
  • # 如果你只想通过 nginx 反代后的访问可以不开端口

    
    docker run -d --restart=always --name emby -p 8096:8096 -e TZ=Asia/Shanghai -e PUID=0 -e PGID=0 -v /home/emby:/config --volume /mnt/alist:/mnt/alist:shared emby/embyserver:latest
    

    记录 embyserver 的内网地址,示例: 172.17.0.3

    
    docker inspect --format="{{.NetworkSettings.Networks.bridge.IPAddress}}" emby
    

    创建 & 记录 embyserver 的 APIKEY,示例: a159ebxxxxxx

    访问 http://外网ip:8096, 初始化 emby,生成并记录 embyserver 的 API KEY


    其他配置

    关闭转码等

    安装 nginx
    生成配置文件

    mkdir /home/nginx && docker run -d –name nginx registry.cn-shenzhen.aliyuncs.com/hicane/emby-nginx:latest&& docker cp nginx:/etc/nginx/conf.d/constant.js /home/nginx/constant.js && docker stop nginx && docker rm nginx
    修改配置

    在 /home/nginx 目录下,有一个 constant.js 文件,按需修改

    nginx配置.png
    创建 & 运行容器

    
    docker run -d -p 8097:80 --name nginx -v /home/nginx/constant.js:/etc/nginx/conf.d/constant.js -v /home/nginx/embyCache:/var/cache/nginx/emby registry.cn-shenzhen.aliyuncs.com/hicane/emby-nginx:latest
    

    播放
    网页版
    我这里网页版一直播放不成功,不过 nginx 脚本作者说可以通过安装 modify header 解决跨域问题来播放

    [
    {
    “alwaysOn”:true,
    “respHeaders”:[
    {
    “enabled”:true,
    “name”:”Access-Control-Allow-Origin”,
    “value”:”*”
    }
    ],
    “shortTitle”:”1″,
    “title”:”CORS Support”,
    “urlFilters”:[
    {
    “enabled”:true,
    “urlRegex”:”*.115.com”
    }
    ],
    “version”:2
    }
    ]
    亲测无效,不知是哪里出了问题,有需要的可以测试一下

    modify header1.pngmodify header2.pngmodify header3.png

    客户端
    需要注意的是,要连接的是 nginx 的端口号,而不是 embyserver 的端口号

    client.png经测试,客户端是走的 阿里云盘 直链,播放速度可达最大带宽(我的测试服务器带宽只有 5Mbps)

    没有评论权限