OpenWrt软路由使用docker安装jellyfin影音中心

2021-01-21 22:37:52

21点赞

140收藏

14评论

最近从原来的4005U换成了3867U,想着这么好的核显别浪费了,就开始琢磨着装个openwrt和jellyfin。

最开始敲定的方案是pve虚拟机主系统里安装一个jellyfin,再开一个虚拟机安装op,但是每次来调试都得等着op起来了才能再进pve,而且总觉得这样会浪费性能。于是瞄上了op里docker的安装方案。

准备工作

PS:安装空间的扩容教程我放在文章最后了。不会的人先按照步骤扩容,再安装docker。

jellyfin使用思路:直通核显硬解,nas里的硬盘通过nfs挂载到op里,再挂载给jellyfin。

首先挑一个带docker的op版本安装,我用的是esir的高大全版本,里面插件很多,正好也有docker。

549a989d249e34d5632c34a8580669c9.pngesir的高大全

因为我要直通核显,所以首先得确定op里有没有核显的驱动

使用ssh连接到op,输入指令

ls -dev/dri

如果返回指令card0 renderD128,则说明核显驱动了

730bd5254af8510bfef04b272406a9b2.png检查核显的指令

docker容器部分

接着去DockerHub网站查看我们需要的容器,并且查看他们的部署指令

3cae8dafcb8b4597d6a3b37ea11648b1.pngdocker容器网页

在箭头指的框内查找需要的容器名字,选择第一个,官方版本的jellyfin,并记住这个容器的名字:jellyfin/jellyfin。之后会需要用到这个名字用来下载这个容器。

6da6cf53b8b539c1309aa8010ef038d8.png搜索结果

点第一个jellyfin进入详情界面,点击我圈出来的那个链接,跳转到jellyfin的网页,并选择我划线的部分,点进去。

092b1dcf81c1f09c92ede10555f2aa27.png容器详情页面

ceb457643d44d16481434799832d6c27.pngjellyfin网页

圈出来的这部分就是我们需要的,用来配置docker的命令行

9fce210f311dc5fab1632825dcd73bed.png配置命令行

其中我们需要用到的是其中的部分,下面是凭个人理解改的命令行,若有不对,轻点喷

3de086f6653beb22e1438ca6981a8e67.png

7a86462fd0ada567bec67c867c7ad267.png指令删改

在openwrt的页面里选择docker——容器——新建——输入命令行——粘贴——提交

041731c75be3dcc71e106d037113d15b.png建立新容器

c2f49bfc5a2c60679824dd3283dc984d.png输命令行

53cd3e14318790161c7771696c4d9f52.png粘贴之后提交

这一步里面网络硬盘挂载位置的讲解,在后面有具体说

docker run -d

--name jellyfin

-v /你自己选定的路径/jellyfin/config:/config

-v /你自己选定的路径/jellyfin/cache:/cache

-v /你挂载的网络硬盘的路径:/media

-p 8096:8096

--device=/dev/dri/renderD128

--restart unless-stopped

jellyfin/jellyfin

提交之后就会看到之前输的命令,已经自己按照位置填到对应的地方了

e670a523c9998129c43155a0e61cc3ef.png自动填写的配置

其他都保持默认即可,拉到页面最底下,点击提交,就会开始创建容器,稍等片刻安装完毕之后,就会看到这个页面

勾选上这个容器,之后点启动,容器就会开始运行了。

8a56d6cf71ee9247b9d3dba13ac25dfb.png启动容器

到这步先不去jellyfin初始化,先去将nas的网络硬盘挂载到openwrt里

网络硬盘挂载

这里使用的是nfs挂载硬盘,所以要先确定openwrt里nfs的版本

7d4c7e59804baf7d3806f658ac7ce540.png确认nfs版本

在已安装的软件包里搜索nfs,在搜索结果里面找kmod-fs-nfs这一项,若果是v4,就需要在群晖里面勾上NFS v4.1支持,不然无法挂载。如果是v3,直接挂载就行了,不需要勾选这一项。

925e56496fa5e7a1a1fca96225d2238f.png群晖nfs设置

在openwrt里 网络存储——NFS管理——添加

5771c38d3832056b10634b4bef41337f.png添加nfs硬盘

这里需要设置的一共有四项:源目录、挂载到、选项、延迟时间。必须都填进去,默认是空着的,少设置一个都无法成功挂载

be63c4de13d801ec5e96c88f47c16013.png挂载设置

源目标

192.168.x.x:/vloume1/你的文件

我填写的格式(你们当例子看,照抄不修改没用):192.168.5.3:/volume2/transmission/downloads

挂载到

/你想要挂载的位置

我挂载的位置:/mnt/sda4/movies

选项

填nolock就好

延迟时间

0

都填好之后就可以点击下面的保存并应用。这一步可以用wincp来查看一下文件有没有挂在成功。如果挂载成功,就可以在你刚选择的挂载地址,看到你nas里的文件,就像我这样。

87ff1d4f6b422f8454a0ccb4571eaf19.png挂载成功

到这里,硬盘就挂载成功了,就可以去jellyfin里初始化了。

jellyfin初始化我就不演示了,在选择媒体库时,下面会有个/media文件夹,这个就是你映射的网络硬盘的文件夹,直接选就好了。

PS:没有扩容过的op,它分配给docker的安装空间只有几十M,根本不够,需要先给op的安装空间扩容

在op里点击 系统——磁盘管理——修改

6dfa28d78da62fcf57385eca1cca47c0.png扩容

之后进入这个界面。在圈出来的这个框里填入你想要扩容的大小。例如+200m 或者 +20g 直接填 +你想要容量 就可以,填完之后点右边的新建。

34891bcf96c559a2f73e5273b0a7c501.png填写扩容大小

格式化的时候,先确认要扩容的大小是否正确,正确的话就点击格式化,分区类型选择ext4,最后点击格式化

77bef035aefce2fea591db5b9c3f2f63.png格式化

格式化完毕我们去挂载点页面,在系统——挂载点,将页面拉到底部位置,就能看到挂载点的设置

ea9901671b5aac93e60089a4c03a24ae.png挂载点

点击添加,在uuid里面,选择你刚格式化的分区,可以看后面分区的大小来判别,也可以通过sda后面的数字来判别,不知道sda几的话,可以去刚刚格式化硬盘的地方看

37ed4d3995a425e811b16feb64991313.png选择分区

选择好uuid后,勾选启用此挂载点,在挂载点里面选择成作为外部overlay使用,然后点保存并应用。

cacbff8c2d8cadd0e4187ad6444cc3da.png选择overlay

重启软路由,之后就能看到软件包和docker的安装空间都变大了。

2c55b12b0763092621631da0ca85c15a.png

cc38b17906815db666664d405a8f047b.png可用容量变大了

c2ad9c123c4d84295e50d901fd065b58.png

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐