N1盒子搭载Armbian运行Emby媒体服务

自从开始折腾GD影视库,就发现Docker跑Emby特别香。一开始在VPS上折腾,后来觉得既然都有Netflix、Amazon Prime账号了,就没必要为了GD再花一笔VPS费用,加之家中的i3 4158u软路由因为PVE跑了台WIN10用做迅雷吃硬件厉害,QNAP NAS挂载Rclone也很不痛快,遂决定入手矿渣之王N1盒子。

前几天在拼多多买的N1盒子到手,顺便说一句,今年发现拼多多是个买垃圾的好地方,各种淘宝不让卖的垃圾又多又好。卖家预装了Openwrt,遂试了一下在OpenWrt环境下运营Rclone+Docker+Emby,但NFS挂载NAS出现问题。憋了几天,特别郁闷,也不想全网搜解决小问题的办法,心想OpenWrt整不明白,Linux我会呀。于是,心一横,把N1刷成了Armbian服务器。痛快了!遂记录。

1、从OpenWrt刷Armbian

网上各种降级刷Armbian的教程,在此我就不赘述降级刷机过程了。因为我也没操作。买的时候直接叫卖家刷好OpenWrt或者直接刷好Armbian就好。简述一下U盘刷Armbian过程:

1.1、下载Armbian和dtb文件
a.下载:Armbian_5.77_Aml-s905_Debian_stretch_default_5.0.2_20190401.img(下载地址
b.下载:meson-gxl-s905d-phicomm-n1-xiangsm.dtb(下载地址

1.2、烧录U盘
我用的是BalenaEtcher(下载地址),OS X版和Windows版都有。

1.3、修改dtb
a.U盘烧录完后,把meson-gxl-s905d-phicomm-n1-xiangsm.dtb文件拷入U盘的/dtb/目录下。
b.修改uEnv.ini文件里的dtb_name。

dtb_name=/dtb/meson-gxl-s905d-phicomm-n1-xiangsm.dtb

1.4、刷
把N1盒子断电 → 插入U盘 → 插上电源和网线

2、配置Armbian

过个几分钟,去主路由DHCP列表,能看到N1盒子的IP(对应的主机名可能是:aml),SSH连接这个IP就可以开始配置啦。

2.1、从U盘启动变成eMMC启动
网上各种说法,其实我只运行了 ./install.sh 而已。
代码行跑完,输入 showdown now,接着拔掉U盘,重新开机。

2.2、修复 只读 问题
不知道什么原因,在我配置静态IP时,提示文件只读,一开始我还以为Armbian就是这么高安全性的,后来发现是个问题,遂运行:

e2fsck /dev/mmcblk1p2

2.3、修改N1盒子为 静态IP
因为我是拿N1盒子当Linux服务器用,主路由上需要做端口转发,故需要静态IP,遂:

sudo vim /etc/network/interfaces

#修改dhcp为static
iface eth0 inet static

#删除如下三行前的井号,并配置为主路由网段
address 192.168.0.4
netmask 255.255.255.0
gateway 192.168.0.1

2.4、修改 右键 为复制模式

sudo vim /usr/share/vim/vim80/defaults.vim

查找 set mouse
if has('mouse')
set mouse=a
endif

将值从"a"改成"r"
if has('mouse')
set mouse=r
endif

2.5、修改 中文 显示:
虽然我不用Desktop,但SSH不显示中文还是不行的。

locale
#查看环境变量
sudo vim /etc/locale.gen
#开启字库,去掉zh_CN.UTF-8前面的#保存
sudo apt-get update
#更新程序列表
sudo apt-get upgrade
#更新程序
sudo apt-get install ttf-wqy-zenhei
#安装中文字体
sudo fc-cache -v
#更新字体列表
sudo vim ~/.profile
#在文件末尾添加相应内容:
#全中文环境增加export LC_ALL=zh_CN.UTF-8
#半中文环境增加LC_CTYPE=zh_CN.UTF-8 和 LANG=en_US.UTF-8
sudo locale-gen
#生成locale文件
sudo locale-gen zh_CN.UTF-8
#可不执行(重启后在登录界面可切换中文)
sudo reboot
#重启系统

3、用Rclone挂载GD、用NFS挂载NAS盘

参见:笔记:Docker部署EMBY

Rclone挂载多个GD盘

#若需要挂多个盘
#第一步
cat > /etc/systemd/system/rclone@.service <<EOF
[Unit]
Description=rclone mount %I drive
After=network.target
[Service]
#Type=notify
Type=simple
#PrivateTmp=true
ExecStart=/usr/bin/rclone mount %i: /root/wow/%i --allow-other --config /root/.config/rclone/rclone.conf
[Install]
WantedBy=multi-user.target
EOF

#第二步
for a in `grep '^\[' /root/.config/rclone/rclone.conf`
do
    b=${a:1:-1}
    [ ! -d "/root/wow/${b}" ] && mkdir /root/wow/${b}
    systemctl enable rclone@${b}
    systemctl start rclone@${b}
done

#第三步
mkdir /root/wow
systemctl enable rclone@xx
systemctl start rclone@xx

NFS挂载NAS盘,得先在NAS上配置好共享盘的NFS设置,然后装 nfs-common

sudo apt-get install nfs-common

挂载代码:

sudo mount -t nfs 192.168.0.2:/Video /root/wow/qnap -o nolock

配置开机启动

sudo vim /etc/fstab

192.168.0.2:/Video /root/wow/qnap nfs rw 0 0

4、安装Docker和Emby

参见:笔记:Docker部署EMBY

值得注意的是:
a.N1 Docker版的Emby,得拉取:

docker pull emby/embyserver_arm64v8

docker run -d --name emby --restart=always -v /root/emby/config:/config -v /root/wow:/mnt/share1 -v /root/wow/gd:/mnt/share2 -p 1900:1900 -p 7359:7359 -p 7359:7359/udp -p 8096:8096 -p 8920:8920 --env UID=0 --env GID=0 emby/embyserver_arm64v8:latest

Protected Area

This content is password-protected. Please verify with a password to unlock the content.

b.Docker版的Emby有三个文件夹:config、share1、share2,
建议在/root下新建emby文件夹,然后在emby下新建config、share1、share2

mkdir emby
cd emby
mkdir config
mkdir share1
mkdir share2

安装Emby时,注意各目录配置。

另外,运行如下命令控制内存占用

docker container update -m 500M --memory-swap=800M emby的id

其他命令

#备份数据包
apt-get install zip
zip -q -r embydata.zip /root/emby/config

#上传备份数据包至GD(若挂载了新的团队盘) 
cp -a -r -n /root/embydata.zip /root/xx/yy
rclone copy /root/embydata.zip cc:IT

#查看文件夹下目录数量
ls -lR | grep "^d" | wc -l

Protected Area

This content is password-protected. Please verify with a password to unlock the content.

打完收工!

发表评论

电子邮件地址不会被公开。 必填项已用*标注