我发这篇帖子主要是因为网上大多数视频或者教程都有教怎么用docker搭建一个Plex服务器,但是但是,他们没有特别说明那些都是基于X86架构的,Arm架构的CPU使用那些命令是无法搭建成功的(会提示无法运行)
在这里我把我折腾很多次,并且最终运行成功的代码分享给大家。我是在我的R2S软路由上面安装docker,并且用docker安装了Plex服务端。
代码如下:
docker run -d \
--name=plex \
-e PUID=1000 \
-e PGID=1000 \
-p 32400:32400 \
-p 32400:32400/udp \
-p 32469:32469 \
-p 32469:32469/udp \
-p 1122:22/tcp \
-p 5353:5353/udp \
-p 2400:2400/udp \
-e VERSION=docker \
-e PLEX_CLAIM=claim-cPEw-drzCYeh_SpYnbnx \
-v /opt/plex/library:/config \
-v /opt/plex/tv:/transcode \
-v /mnt/sdb2:/movies \
-v /mnt/sda2:/music \
--restart unless-stopped \
lscr.io/linuxserver/plex:latest
说明如下(我想到哪说到哪):
1,注意把这些参数根据你的情况改动一下
-e PLEX_CLAIM=claim-cPEw-drzCYeh_SpYnbnx \
-v /opt/plex/library:/config \
-v /opt/plex/tv:/transcode \
-v /mnt/sdb2:/movies \
-v /mnt/sda2:/music \
主要是claim改成你自己的,下面的目录改成你自己的。比如我就必须先在/opt下面新建一个plex文件夹(这样就行了,子目录不用管)
2,这样你就可以使用内网IP:32400来访问Plex服务了。比如我在内网里面就使用192.168.2.1:32400
3,怎么在外网访问??
外网访问你就必须弄个域名,并且在软路由上设置ddns服务。我就是在阿里云上买的一个域名,优化后只要1块钱1年。然后软路由ddns设置阿里云的网上教程也很多,照着做就行了。
但是但是,我特别要告诉你的是,IPV4域名访问你必须得有个公网IP,怎么看自己是不是公网IP??你就看你软路由wan口IPV4地址和你百度“我的IP”上面显示的地址是不是一样的就行了。
比如说像我这个情况,我把光猫改成桥接了,也软路由拨号了,我就一直认为我有公网IP了,实际上根本不是,怪不得我IPV4环境下,用域名访问怎么也访问不了。
好,讲了这么多,总结一下就是:
想要外网使用域名访问,你要么有公网IP可以用IPV4访问,要么就用IPV6。
我就是用的IPV6,只要有Ipv6环境,无论WiFi还是4G都能访问到家里的Plex。
4,你以为你外网IPV6域名访问就万事大吉了??
大错特错,Plex有个机制,就是远程访问的时候它必须要求你加密,这就是要求你域名要部署ssl证书。你没有证书,所有流量就会走Plex官方的服务器,非会员好像就给你1M的带宽,看电影会非常卡。
所以所以,你一定要给你的域名部署Ssl证书,我的证书是在阿里云上申请的,免费的可以申请20个,申请好后下载,然后上传到docker Plex的目录里,然后在Plex设置页面 选择网络,写上证书路径,密码,域名(记得是https)。
部署好证书,你的域名前面就会有一把锁的标志,就代表你成功了。
5,我之前手机端用infuse添加plex帐号的方式看视频,总是提示什么带宽不足以支撑视频播放就自动退出了,原因也就是你没有部署ssl证书加密,流量全部走了Plex官方服务器,部署好证书就好了。
6,IPV6访问必须把光猫调成桥接模式,然后软路由拨号。网上教程很多了,就不赘述了。
7,软路由设置ddns的时候,先登录阿里云控制台,手动添加1条AAAA的解析记录,记录值随便写个IPV6地址就行了,你设置好ddns,过10分钟,记录值会自己变回来的。这样也能验证你ddns是否设置正确?
8,申请阿里云证书的时候,会要求你手动添加一条txt解析记录,我在这一步卡了很长时间,我按他的要求填写怎么也不行,后来才发现原来主机记录只写它给的前半部分,不用全部复制。这真是百思不得其解。
暂时就写这么多,都是自己踩过的坑,欢迎大家讨论,共同学习。