月度归档: 2020 年 12 月

  • 在铁威马Nas上使用最新的Plex Server

    在铁威马Nas上使用最新的Plex Server

    铁威马目前官方商店提供了Plex和Emby,其中Plex的版本为1.20.X,目前最新版本是1.21.X。版本差距不是很大,只是在安装插件的时候找了好一会儿文件路径,还是决定自己装最新版本,自己控制文件夹路径算了。

    直接安装在本地不如Docker方便,所以直接选用官方镜像。在appdata目录下新建一个plex专用文件夹,准备一个database目录用于存储和一个transcode目录作为转码。

    由于Plex依赖的网络端口比较多,选择bridge比较麻烦,这里直接选择host模式。准备一个存放媒体文件的目录,挂在到/data下。

    环境变量中没有太多要配置的,最好配置一个PLEX_CLAIM作为自动关联,这个claim-code可以在plex网站上找到,直接访问 https://www.plex.tv/claim/ 可以获得,然后启动就行了。

    日志可以在Docker管理面板看到

    刚刚下载的BT视频直接被索引到了,然后自动生成缩略图。

    如果需要安装插件,下载好了以后放到/appdata/plex/database/Library/Application Support/Plex Media Server/Plug-ins/中。…

  • 快速编译适用于铁威马Nas的软件

    铁威马Nas自带的生态比较少,除了用Docker解决以外,还可以考虑交叉编译的方式来生成适用的软件。

    官方的文档非常少,基本等于没有,特别是对于UI部分的集成只字不提,不过根据发布的三个工具来看,还是比较清晰

    • 打包工具,生成tpk软件,目录结构和openwrt有点像
    • x86_64的编译sdk
    • arm的编译sdk

    由于软件包下载比较慢,也比较大,我这里构建了一个x86_64可用的镜像,包含了必要的依赖,适用于大部分make或者cmake管理的软件。这里用libuv为例展示下用法。

    镜像地址在:https://hub.docker.com/r/htynkn/terramaster-sdk,版本对应官方提供的sdk版本,即最新的是1.0.1。在下载了libuv代码后直接执行

    docker run -it -v $(pwd):/code htynkn/terramaster-sdk:1.0.1 bash

    相关工具在/sdk目录,由于libuv用了cmake,所以直接指定CC和GCC就可以了

    mkdir build
    cd build
    env CC=/sdk/x86_64_builtroot_toolchain/bin/x86_64-tnas-linux-gnu-gcc CXX=/sdk/x86_64_builtroot_toolchain/bin/x86_64-tnas-linux-gnu-g++ cmake ..
    make uv

    我尝试了一些常用C/C++库,基本没有遇到什么问题。没有特别仔细研究官方具体做出了什么裁剪,但是目前看基本通用。…

  • 铁威马NAS添加开箱即用的Aria2下载工具

    Aria2是比较轻量级的下载工具,支持BT等格式,非常适合简单的下载需求,比如NAS环境挂BT的情况。

    铁威马NAS,相对来说性价比比较高,但是相对的,生态比较差。好在大部分版本都提供Docker支持,可以解决很多问题。以Aria2为例,官方提供应用市场可以安装,但是安装后有很多需要配置的地方,对于初次使用的用户很不友好,特别是自带的管理界面,某一次打开遇到了File not found的错误后再也无法使用。

    有热心网友准备的完美配置,再加上开箱即用的Docker镜像,其实完全可以不实用官方的应用,直接挂Docker。我这里使用的镜像是p3terx/aria2-pro,大小28M,使用的模式是移动模式,即下载完成移动下载完的文件到另外的目录,再删除.aria2和torrent文件。镜像额外还有BT trackers更新,小文件过滤,特别文件名过滤等功能,可以覆盖大部分场景。

    使用时在铁威马NAS中搜索镜像后下载,然后直接创建,这里保留6800作为RPC端口,其他监听端口按照情况更改,需要挂在两个目录,一个是config目录,一个是下载目录。其他不需要特别配置。

    启动后需要一点时间拉取对应脚本并更新Trackers,所以看下日志

    或者等6800端口可用后再访问也可以。

    本文的方法不光适用于NAS环境,或者局限于铁威马这个品牌产品,大部分设备只要支持Docker都可以这样使用。…