欢迎光临散文网 会员登陆 & 注册

2023 群晖7.2 Docker下jellyfin硬解及权限设置

2023-08-09 16:04 作者:wzxrec  | 我要投稿


非教程,仅供参考


由于群晖更新了7.2,docker套件变成了Container Manager套件,并且增加了项目功能,也就是docker-compose,使创建容器变得更加便捷,便写篇文章当笔记。


准备:

群晖型号:DS920+

群晖版本:7.2

Jellyfin版本:10.8.10


一、设置权限:

由于网上大篇docker教程创建容器要么使用高权限,要么给文件夹设置Everyone权限,本着吃饱了撑着没事干,把docker容器中的权限理一理,以jellyfin为例。

1.新增用户,控制面板->用户与群组->用户账号->新增,该用户仅为docker中的jellyfin容器使用

2.设置文件夹权限,docker设置只读,稍后在文件夹权限设置中解释

3.设置应用程序权限,全拒绝就好

4.新增用户组

5.选择刚刚创建的用户jellyfin123

6.设置文件夹权限,docker只读

7.设置应用程序权限,全拒绝

8.右键docker文件夹->属性->权限,选择用户jellyfin123

9.在docker下创建jellyfin123,右键属性,这个也是我们容器的文件夹,这里需要新增用户jellyfin123

以上步骤8、9解释:

在docker文件夹上设置用户jellyfin123权限为只读,应用于此文件夹,那么这时候用户jellyfin123将无法访问docker文件夹下的任何一个文件、文件夹。

此时新建jellyfin123文件夹,并设置用户jellyfin123拥有读取和写入的权限,并应用于全部,那么用户jellyfin123将能访问到docker下的jellyfin123文件夹,并能写入文件。

也就是用户jellyfin123在docker文件夹中除了jellyfin123文件夹,其他文件、文件夹都无法访问、也看不到。

这两步也能应用于同一共享文件夹下不同用户的权限设置,比如,docker文件夹中有A、B两个文件夹,按照步骤8、9设置,就能使用户A在docker能访问A文件夹,不能访问B文件夹,也看不到B文件夹,用户B同理。


二、群晖SSH获取UID、GID

略。以下所有SSH操作需要切换到root用户避免不必要的麻烦

命令为:id 用户名

例:id jellyfin123

我获取到的:uid=1234(jellyfin123) gid=100(users) groups=100(users),5678(docker456)

其中 uid:1234和groups:5678分别为我们刚刚创建的用户jellyfin123和用户组docker456,这两值等等需要在docker-compose.yml中使用。

由于jellyfin官方镜像不像linuxserver-jellyfin镜像有提供PUID、PGID环境变量供我们使用,所以需要在docker-compose.yml中设置,如果你用到的其他镜像有提供该环境变量,那么直接在环境变量中设置这两个值即可。

题外话,有的镜像如lycheeorg-lychee,即便环境变量有提供这俩值,但是起作用的只有PGID,官方文档也没说明,所有你只能把用户组当用户来设置权限。

三、在Container Manager(docker)创建项目(容器)

这里项目也就是docker-compose

1.先在你的电脑里创建docker-compose.yml文件,内容如下

简单说明:

image:为Container Manager中映像的名称和版本号,我这里用的是jellyfin官方最新版

container_name:创建容器的名称

user:上面获取的uid 1234和groups 4567

volumes:映射的文件夹,也就是Container Manager容器中的存储空间设置,这里注意路径需要文件夹右键->属性->位置,而不是像存储空间设置只需要/docker/...就行

ports:Container Manager容器中的端口设置

devices:群晖SSH获取,命令为:ls /dev/dri

group_add:群晖SSH获取,命令依次为:ls /dev/dri -l 和 cat /etc/group | grep videodriver,第一句是查看驱动文件夹dri的信息,我们可以发现有一个videodriver用户组,第二句是查询videodriver用户组的id,这个值在group_add里为字符串类型,需要双引号

其他属性自行百度

2.Container Manager创建项目

四、jellyfin设置硬解


五、结尾

至此,所有步骤完成,便可使用jellyfin硬解视频了。之所以这么折腾,也只是对应开头吃饱了撑着没事干,当然你也可以直接文件夹权限777,容器高权限,又不是不能用,还方便很多。

文件夹设置权限正如文中所述,群晖的共享文件夹很容易给各个用户单独设置权限,如果多个用户使用同一个共享文件夹,要使不同用户访问共享文件夹下的不同文件、子文件夹,便可使用该设置。当然,这一步对于本篇来说主要是为了单独设置jellyfin容器的权限。

相当一部分docker容器是没有uid和gid的环境变量供我们设置的,当我们在群晖上需要访问该容器的映射文件夹时,大部分都是文件夹添加Everyone用户,设置完全控制,或者容器使用高权限执行。群晖在Container Manager之前,只能使用命令行命令设置uid和gid,现在直接在Container Manager项目中使用docker-compose就可以方便部署容器了。

以上就是本篇所有内容



2023 群晖7.2 Docker下jellyfin硬解及权限设置的评论 (共 条)

分享到微博请遵守国家法律