Docker安装emby媒体服务器

局域网内的媒体播放可以直接播放媒体文件,但安装一个服务器可以管理媒体各种信息资料,呈现较好的娱乐体验。通常采用的媒体服务器有plex、emby、Jellyfin等三种,这三个服务器安装配置都非常简单,这里就emby的安装简要介绍。

网络上有关于Docker安装emby的文章,有些写得非常复杂,其实可以非常简单。

1、标准的安装方法看Docker官网

原始信息如下:

Or using the following command:

docker run -d \
    --name embyserver \
    --volume /path/to/programdata:/config \ # Configuration directory
    --volume /path/to/share1:/mnt/share1 \ # Media directory
    --volume /path/to/share2:/mnt/share2 \ # Media directory
    --net=host \ # Enable DLNA and Wake-on-Lan
    --device /dev/dri:/dev/dri \ # VAAPI/NVDEC/NVENC render nodes
    --device /dev/vchiq:/dev/vchiq \ # MMAL/OMX on Raspberry Pi
    --runtime=nvidia \ # Expose NVIDIA GPUs
    --publish 8096:8096 \ # HTTP port
    --publish 8920:8920 \ # HTTPS port
    --env UID=1000 \ # The UID to run emby as (default: 2)
    --env GID=100 \ # The GID to run emby as (default 2)
    --env GIDLIST=100 \ # A comma-separated list of additional GIDs to run emby as (default: 2)
    emby/embyserver:latest

Please adapt the UID, GID and GIDLIST values to match the owner of your media files. GIDLIST is also needed to grant access to VAAPI/NVDEC/NVENC render nodes.

2、理解各种参数的意义,可以自由配置

–name 可以随便改

–volume 你想在emby中安装几个不同的媒体库就映射几个/mnt/share*

–net 官方写的是host,其实可以不配置,就用系统的bridge也没有问题

–device 、–runtime 可以不配置(这针对特别的设备的)

–publish 要暴露的端口,如果是局域网内使用,留一个8096就可以了,或者自定一个端口

UID GID GIDLIST可以按网络上介绍的方法获取,也可以用默认值,也就是不配置。

3、在群晖NAS中安装Docker版emby

3.1 下载官方镜像

搜索结果

3.2 启动容器

点“高级设置”,其中:

高级设置 可以不配置

卷 映射一个config 目录,映射要管理的媒体库

网络 不配置

端口设置 默认有四个端口,只保留容器的8096,并把本地端口也改成8096

链接 不配置

环境 不配置。

3.3 设置emby

浏览器地址输入 IP:8096,进入emby设置页面

优先语言选中文,然后设置用户名和密码,再根据提示完成各项设置就可以了。

登录后配置好媒体库就完成了基本的安装,就可以在局域网内使用,后面是设置好媒体信息搜刮和外网访问。

用树莓派安装的OMV系统备份群晖NAS文件

群晖nas是比较专业的存储服务器,自身有比较完善的数据安全措施,但这种安全仅在于本身,如果多块硬盘损坏或系统错误等,这种保护就没有意义,实际生产中广泛采用异地容灾备份的措施来解决,在大型企业、政府部门或重要场合都是必做的。个人家庭没有企业一样的严格保护要求,但多个备份保存一些有价值的数据也是必要的。

我有一台群晖nas服务器,主要用来保存各种数据,同时也安装了多种服务,但对部分核心数据还是担心服务器故障造成不可挽回的损失,同时我还有一个树莓派,并在其中安装了OMV(OpenMediaVault)开源nas系统,并通过USB挂了一个比较大的硬盘,所以尝试把部分关键数据在树莓派上再做一个备份,这里记录一下实现过程。

一、方案选择

1、手动方式

两个系统都是nas,共享文件服务都是标准配置,可以直接在一个系统中连接另一个系统共享文件夹,然后将要备份的数据拷入其中就可以了,简单方便直观,如果不考虑比较及时的数据更新,这是一种比较好的方式。

2、自动方式

两个系统都是Linux,而且群晖也有专门的套件内置了各种协议的备份方式,所有考虑采用通用的Rsync协议来进行备份。

在群晖中用Hyper Backup套件来做客户端,在其中新建rsync备份任务,在树莓派OMV系统中启用自带的rsync文件服务协议。

采用自动方式后,可以在配置好服务后定期执行自动备份,并且可以保留多个版本,是比较规范的一种保护方式,数据更新周期可以自定义,群晖运行了多种服务,数据更新快,用自动方式能比较好地同步各种数据。

根据以上的方案,对照rsync服务标准,大概就是树莓派做服务器,群晖做客户端,以客户端推的方式进行数据备份。

二、开启OMV的rsync服务

1、开启873端口

ssh终端进入树莓派后台,防火墙放行873端口

sudo ufw allow 873

如果树莓派是与外网群晖连接,则要做好将873端口正确NAT到路由器的外部端口上。

2、建立用于备份数据的共享文件夹

登录OMV,点添加,建立一个共享文件夹,对该文件夹正确编辑好访问权限,主要是以后在群晖中用该帐户密码能读写该文件夹。

3、开启OMV的rsync服务

3.1 开启rsync服务

登录OMV,选服务,Rsync,点启用并保存。

3.2 建立服务模块

在Rsync服务中选模块,点添加,选择要用于保存备份数据的共享文件夹,并按要求填入用户帐户信息。

三、群晖建立rsync备份任务

1、安装Hyper Backup套件

2、在HB套件中建立rsync任务

启动HB套件,点+,数据备份任务,选rsync,下一步,进入服务器连接设置

其中服务器类型选兼容rsync服务器,服务器名称添加树莓派的ip地址,传输加密选择关,端口填873或映射后的端口,帐户密码填第二步模块设置时的帐户。如果设置正确,群晖就能正确连接并自动显示可用的模块,否则提示错误。目录可以自定。

后面的选项根据个人需要填写,一般没有原则性的问题。

四、问题

1、共享文件夹的访问权限设置是关键

由于两边都是nas文件系统,全部是图形化配置界面,相对纯终端界面,各种配置非常简单,不需要自己编制配置文件,但共享文件夹的访问权限设置不对就会导致群晖不能正确登录并写入共享文件夹,具体可以参与OMV系统的共享文件夹设置,网络上有较多的教程。

2、外网访问的IP问题

Rsync是能够远程访问的,但是不支持URL,也就是不能用域名代替ip,而一般情况我们没有固定公网ip,这样就会导致HB配置的备份任务几天后失效。

Transmission添加账户密码

群晖Docker安装的transmission默认状态下没有添加帐户密码,也不允许远程登录,因为局域网使用不存在安全问题,如果想远程管理下载任务,就需要增加远程登录帐户密码。

1、打开Docker套件,停止transmission容器。

2、找到安装transmission安装时映射的 /config目录。

这里可以在容器的详情中查看映射巻的具体位置和目录名称

3、修改其中的settings.json文件。

如果安装了群晖的文本编辑器可以直接右键打开,如果没有装则下载下来,改好后再传上去并覆盖原文件,为避免出错可以事先备份一下该文件。

修改以下几项就可以了:

3.1 “rpc-authentication-required”: true,       默认值是false,true开启身份验证;

3.2 “rpc-password”: “123456”,  

默认值是一长窜的字母数字组合体,改成自己的密码(如设置密码123456, “rpc-password”: “123456”)。

3.3 “rpc-username”: “admin”,     默认值是“”空的,改成自己的用户名

3.4 “rpc-whitelist”: “*.*.*.*”,  改成”*.*.*.*”,表示所用IP都可以访问

3.5 “rpc-whitelist-enabled”: true, 如果设置成false就不能远程登录了

4、重启transmission

Docker安装的Transmission配置修改非常方便,因为配置文件一般被映射出来了,如果不是docker安装需要SSH登录系统后台,仍然是找到settings.json文件并修改,修改内容一样,系统不同可能要求有差异,网络上有大量教程可供参考。