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服务器。痛快了!遂记录。
一、从OpenWrt刷Armbian
网上各种降级刷Armbian的教程,在此我就不赘述降级刷机过程了。因为我也没操作。买的时候直接叫卖家刷好OpenWrt或者直接刷好Armbian就好。简述一下U盘刷Armbian过程:
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(下载地址)
2、烧录U盘
我用的是BalenaEtcher(下载地址),OS X版和Windows版都有。
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
4、刷
把N1盒子断电 → 插入U盘 → 插上电源和网线
二、配置Armbian
过个几分钟,去主路由DHCP列表,能看到N1盒子的IP(对应的主机名可能是:aml),SSH连接这个IP就可以开始配置啦。
1、从U盘启动变成eMMC启动
网上各种说法,其实我只运行了 ./install.sh 而已。
代码行跑完,输入 shutdown now,接着拔掉U盘,重新开机。
2、修复 只读 问题
不知道什么原因,在我配置静态IP时,提示文件只读,一开始我还以为Armbian就是这么高安全性的,后来发现是个问题,遂运行:
e2fsck /dev/mmcblk1p2
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
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
5、修改 中文 显示
虽然我不用Desktop,但SSH不显示中文还是不行的。
1、安装之前,执行 echo $LANG
屏幕显示:en_US.UTF-8 说明现在是英语环境,需要切换到中文环境。
2、安装中文语言包
apt-get update
apt-get install ttf-wqy-zenhei
3、nano /etc/default/locale
把原来英语 US 的都换成如下的内容,并且注意配置文件中不能有多余的空格 :
LANG="zh_CN.UTF8"
LANGUAGE="zh_CN.UTF8"
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL="zh_CN.UTF8"
4、重启机器
reboot
#如果不行:
apt-get install language-pack-zh-hans
或
apt install fonts-wqy-microhei fonts-wqy-zenhei
然后
locale-gen zh_CN.UTF-8
locale -a
6、安装BBR
查询是否已开启
lsmod | grep bbr
若输出:tcp_bbr 20480 1表明已开启bbr。
若未启动,则输入如下:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
三、用Rclone挂载GD、用NFS挂载NAS盘
详情参见:笔记:Docker部署EMBY
1、安装Rclone
#安装:
curl https://rclone.org/install.sh | sudo bash
#配置:
rclone config
#创建一个挂载目录:
mkdir -p wow
2、Rclone挂载多个GD盘
#第一步
cat > /etc/systemd/system/[email protected] <<EOF
[Unit]
Description=rclone mount %I drive
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/rclone mount %i: /root/wow/%i --umask 0000 --default-permissions --no-check-certificate --allow-non-empty --allow-other --vfs-cache-mode writes --vfs-read-chunk-size 32M --vfs-read-chunk-size-limit 256M --buffer-size 128M --use-mmap --config /root/.config/rclone/rclone.conf --daemon
[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
3、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
四、安装Docker和Emby
详情参见:笔记:Docker部署EMBY
1、安装Docker
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、安装Emby
(1)值得注意的是: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
(2)Docker版的Emby有三个文件夹:config、share1、share2,
建议在/root下新建emby文件夹,然后在emby下新建config、share1、share2
mkdir emby
cd emby
mkdir config
mkdir share1
mkdir share2
安装Emby时,注意各目录配置。
(3)运行如下命令控制内存占用
docker container update -m 500M --memory-swap=800M emby的id
4、其他命令
备份数据:
#打包并压缩
tar -zcvf config.tar.gz /root/emby/config
#拷贝备份
rsync -avPh config.tar.gz 已用Rclone挂载的目录
或
rclone copy -P config.tar.gz [Rclone的盘名,如:GD]:[盘中的目录,如:/Temp]
还原数据
#下载数据
rsync -avPh 网盘中备份的config.tar.gz地址 ~/
#解压缩并还原
tar -zxvf config.tar.gz
rm -rf /root/emby/config
cp -r /root/root/emby/config /root/emby
rm -rf /root/root
相关阅读: