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

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

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

HomeAssistant安装使用的几个问题

Homeassistant的安装使用已经有很多的文章介绍,但只有自己实践过才能真正体会到其中的一些东西,这里分享几个经历。

1、安装什么版本

其实本质上这不是一个问题,所有版本的Homeassistant都是一家,只是为了适应不同的使用环境增减了一些功能组件,其中Home Assistant Core是基础版,仅有核心功能,Home Assistant OS是完整功能版,Core可以手动安装各种功能组件变得基本和OS一样,因此,主要看硬件环境适合怎么装,功能可以后面再增加。比如,NAS上一般用docker装Core版很方便,树梅派直接装OS版一步到位。

2、Docker方式安装中网络设置和文件映射

所有介绍Homeassistant安装的文章中都讲网络设置选host,就是利用主机端口,其实完全可以设置成bridge方式,这样可以不占用主机端口,同时和其它容器一样进行端口映射,就是不一定要8123端口,可以映射成主机上任意未被占用的端口,灵活性大大增加。文件映射就更简单,只要文件夹映射到容器的/config就能运行。

3、灵活运用多种方式完成设备的接入

由于智能设备来自于不同企业,或有些产品中的程序做了一定修改,同时各家在物联网协议方面也没有统一,所以很难有一种方法可以接入所有的设备,即使是小米的设备也没有办法一次就完成接入。通过以下方式可以接入大部分通用设备:

3.1、利用米家的Xiaomi Miio和Xiaomi Gateway (Aqara)集成接入各种网关,这样可以一次性将网关下的所有设备接入。

这样做的好处是所接入设备走局域网控制,控制延时很低,体验很好。

但是以上两种方法在不同的设备和不同的homeassistant版本下接入会有不同的效果,很可能有的接入会出现子设备不显示或属性不全等问题,可以尝试不同的方法看最终效果。

3.2、利用第三方集成和系统集成接入部分设备

非米家的设备,如格力、美的空调,konke的插座等,还有米家设备中的蓝牙设备、各类wifi设备等。大部分可接入设备在Github上都有相关下载。

3.3、利用小米帐号接入部分很难接入的米家设备

原则上,只要米家APP上能控制的设备都能被接入,推荐采用xiaomi_miot_raw进行接入,效果比较好,其它MIoT集成没有检验过不清楚。

之所以最后采用云接入方式,主要是云接入时延非常大,对一般灯、开关之类的控制体验很差,但一些状态参数显示等对时间要求不高的设备还是可以的,如温湿度计这种设备。另外,现在有的集成可以选择局域网控制还是云控制。

3.4、其它设备

如京东微联、美的美居等好像目前只有等待开发者的贡献了。

4、综合利用APP、Homeassistant和HomeKit达到良好的家庭智能化体验

利用APP可以非常方便地管理各种智能设备,特别是各厂家内部设定智能控制和场景,如果这个工作要在Homeassistant上完成需要有开发能力,一般人是不可能的。

利用Homeassistant平台可以将不同厂家的设备整合在 一起,也可以将不同类型的设备整合在一起,也就是凡是能接入的设备都集合起来了。同时,可以提供给苹果终端设备的连接桥,通过Homeassistant,苹果手机等可以控制所有Homeassistant上的设备。

利用HomeKit控制所有智能设备,并使不同设备实现智能化场景。在IOS上,家庭APP的体验是非常好的,并可以设置好智能场景。

5、外网连接Homeassistant

外网连接Homeassistant有一个反向代理的问题,Homeassistant运行在内网中,如果是通过反向代理向外提供服务需要对HTTP集成进行设置,否则显示400错误,这个问题在2021年初以前的版本中没有,但最新的版本有,设置方法看官方文档。

6、注意的问题

6.1、接入米家多功能网关(第二代)时,用不同方法可能出现注册实体显示不一样的问题,甚至有一些没有显示。该网关可以Xiaomi Miio接入也可以用Xiaomi Gateway (Aqara)接入,最好是用Xiaomi Gateway (Aqara)接入,接入实体完整,名称规范清晰。用该方法接入时要用到网关的局域网通讯密钥,不是token,网络上有获取该密钥的教程。

比较方便获得小米智能设备token的方法

如果需要将小米智能设备接入homeassistant时,在configuration.yaml中要配置host和token,其中token是通讯密钥,被隐藏在系统文件中,无法在app中直接读取。如何取得token网上有很多方法,这里介绍两种较简便的方法。

1、利用老版本的APP登录,并导出登录日志,其中是明文的各种ID信息

1.1 安装安卓模拟器,夜神试验过没有问题,mumu不知道。

1.2 运行模拟器,导入Mi Home 5.4.54APP

1.3 运行米家 app 并用帐号密码登录

这是老版本的软件,仅支持4位的手机短信,新的小米登录短信都是6位,所以直接用手机短信登录不了。

1.4 退出APP ,打开模拟器的文件管理器,从以下目录找到登录日志。

里面唯一一个txt文件就是登录日志,将其导出到操作系统下就可以直接使用了.

这个文件中的信息包括了用户ID、MAC地址、host和token,很全面。

2、利用仓库HACS中集成工具获取

2.1 进入仓库的集成中,并搜索xiaomi,安装Xiaomi Gateway 3

2.2 在配置-集成中的Xiaomi Gateway 3的选项中选添加

选择mi_cloud,输入帐号密码

2.3 再在选项中选设备,可以查到IP、MAC和token等信息。