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

 

 

相关阅读:

Docker部署EMBY

因为买了嘎鱼饭GD团队盘影片库,所以最近在折腾EMBY。在NAS、OPENWRT软路由、PVE下的WINDOWS虚拟机、VPS上都试过,都不太爽,原因其实还是本地科学上网环境的问题,造成体验很差。遂开始琢磨在VPS上搭建EMBY。

再来谈谈Emby+Google Drive的私人影视库搭建

经过几个月的摸索,基于Emby+Google Drive的私人影视库算是进入生产模式了。
今天来谈谈我的部署,希望对你有所启发。

 

打完收工!

 

阅读剩余
THE END