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设置页面

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

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

OpenWrt几个插件的使用

OpenWrt是一个开源的软路由,许多人在其之上做了二次开发,添加了很多不错的功能,我试用了几个,写几点体会,这些插件要求事先编译进去或单独安装。

1、利用Aria2挂机下载

OpenWrt中有好几个文件下载插件,qb插件没有使用过不好评价,transmission插件在处理种子文件和连接方面感觉性能不是太稳定,综合速度也不好,时有时无。使用Aria2的体验是比较好,不但支持的下载形式多,而且稳定高效,资源要求也不高。

1.1 做好外部存储的挂载

由于openwrt的主要功能是路由,本身配置的存储都比较小,如果用于下载文件,最好是把下载文件保存在其它外部的大容量磁盘上,这样就有一个在使用Aria2之前先挂载好外部存储的问题。

a 启用SMB/CIFS网络文件共享挂载

在这一步之前需要在外部大容量存储上启用文件夹SBM共享服务,网络上有很多相关教程

b 填写挂载文件数据,这个是挂载成功的关键

知道其中项目的意义就比较容易填写了,否则挂载不会成功:

服务器IP   指要挂载的外部存储的电脑地址

共享文件夹  指要挂载的外部存储上在做网络共享时命名的文件夹,用电脑打开共享网络,直接在网络上看到什么名字,这里就填什么,这个名字下面可以跟其下真实存在的子文件夹名。

挂载路径   指openwrt中某个文件夹,可以自己取名,如果系统中不存在,它会自己生成相关文件夹。

挂载参数   必须是可读写

用户、密码  是你自己可以访问外部存储上网络共享文件夹的帐户,表示openwrt用你的帐户登录外部存储来进行读写操作。

c 点击上图中的挂载路径,检查是否在挂载点列表中出现你的网络共享文件夹,有代表成功,没有表示失败,重新操作上面的数据。

1.2 做好Aria2的配置

a 用户组选root,避免文件读写权限问题

b 文件和位置中,config必须是真实存在的文件夹,位置可以随意,默认下载目录必须是前面填写的挂载路径

1.3 保存并应用之后可以看到Aria2状态变为正在运行,并且有一个”打开AriaNg“的标签

2、利用Docker插件运行web应用

一般分配给openwrt的资源较少,运行docker不是太合适,但是openwrt有独立的IP,直接面向外部网络或直接在一级路由的下面,这样当其它电脑的容器出现问题,可以利用openwrt上的容器连接,作为备用手段来处理一下内网问题。当然,如果路由性能较好,运行一些其它的应用也没有原则上的问题。

路由中有一个无脑配置教程,严格按教程内容就可以顺利启用Docker。

其中第4步是启用挂载点后要重启路由器,否则就看不到新的可用于Docker存储的空间。

之后所有的事情都用Portainer来管理,和其它Linux系统使用Docker没有什么不同。

HomeAssistant打造一个智能的家

智能的概念现在非常普及,新房子装修时买了大量带wifi或蓝牙连接的设备,开关、灯和感应器以小米为主,但也有很多其他品牌,这样被迫装了一堆app,而且小米米家十分臃肿,要控制一下哪个设备操作烦琐,所以考虑用开源软件建立家庭智能化控制中心。

网络上有各种文章,由于系统环境的差异,一些经验介绍别人使用效果不好,甚至错误百出,个人经验是无论是系统安装还是设备接入,最重要的是去看官方文档,里面都有权威的说明,一般满足基本条件后都可以很好地进行。以下就网络上问得比较多的问题,介绍几条经验。

一、安装平台和形式的选择

1、优先考虑低功耗开发板或现有服务器安装

智能控制中心需要常年24小时开机运行,需要一台一直在运行的设备作为服务器,HomeAssistant官方为各种派专门定制了版本,用起来很方便,如果已经有了服务器,在上面加装也可以,毕竟该服务的资源消耗并不是很高。

2、同时,也比较推荐以docker方式运行官方镜像,稳定可靠。由于智能设备需要用到多种协议,适应各种品牌,所以在添加设备的时候经常需要安装各种依赖,如是该服务安装在主系统上,则经常会改动主系统,影响主系统的安全稳定,而且也不利于该服务的升级和数据备份。容器以独立的形式运行,各种环境修改定制都很方便。

sudo docker run -itd –net=”host” –restart=always –name=”homeassistant” -v ~/homeassistant:/config -e TZ=”Asia/Shanghai” homeassistant/home-assistant:latest

3、也有不同的版本形式供安装使用,如homeassistant、hassio等,建议安装hassio的版本,它集成好了一些组件,方便以后的使用。

二、升级homeassistant

很多组件安装时都要求较新的版本,这样系统升级就避免不了,docker中安装的homeassistant如何升级呢?两条命令即可完成。

1、ssh进入容器内部

docker exec -it homeassistant bash

2、用python包管理命令直接升级

pip install --upgrade homeassistant

3、重新启动容器

三、安装HACS社区应用市场

homeassistant除了小米Xiaomi Gateway (Aqara)等少数设备可以通过自动发现直接接入外,很多的设备要通过第三方插件来接入,安装HACS应用市场就很有必要,可以比较方便集中管理插件的安装删除,不用单独在Github上一个一个地下载解包配置。

安装HACS在网络上很多人都出现各种错误,其实官网有非常明确的介绍。

1、明确自己的homeassistant安装方式

大体三种主要方式,在操作系统上安装的、docker安装的还是本身就是HomeAssistant OS,每一种方式安装要求是很不相同的,具体参考:https://hacs.xyz/docs/installation/installation

2、docker容器中安装HACS

2.1 按官方指导文件下载错误

用wget -q -O – https://hacs.xyz/install | bash - 命令下载HACS出现系统错误,官方的HomeAssistant镜像基础系统是aphine linux,wget命令不好用。

a 直接进入HACS官方的Github仓库,点clone下载代码zip文件到本地,这步操作对上网没有什么要求,下载也很快。

b 在HomeAssistant安装时映射的文件夹中建立custom_components文件夹,要与configuration.yaml文件在同一级目录

c 将下载的文件解压,其中的hacs文件夹拷贝到custom_components文件夹中

2.2 配置HACS

a 在Github中申请token

在Github官网上注册一个帐户,并用该帐户登录。

注册没有特殊条件,按要求填写就可以了。

进入以下页面:

https://github.com/settings/tokens

填一个token的名字,其他选择全部留空,再按生成,最后得到一个token字符串,保存下来。

b 写配置文件

打开configuration.yaml文件,在最下面像这样写:

c 关闭homeassistant容器,再重新启动

d 登录homeassistant,进入配置,选择集成,在搜索中找到HACS完成添加。

如果没有找到,可以等一段时间甚至再重新启动容器,该服务的安装启动在第一次时比较慢,只要token和配置正确。

四、多个灯怎么接入

在接入小米pillips灯泡的时候遇到多个泡只能接入一个的问题,在网上一查很多人都碰到这个问题,在看一个关于yaml文件编写要求的视频时得到启发。

1、小米的灯可以接入多个,其它的品牌不知道,问题主要在yaml文件的编写。

2、写灯的yaml文件时,多个灯统一写在light条目下,每个灯空一行,以下的我的配置,供参考: