OpenWrt软路由(NanoPi For NAS All In One R4S ):网易云音乐 Node.js API

NO.1
NeteaseCloudMusicApi

github地址

https://github.com/Binaryify/NeteaseCloudMusicApi

文档地址

https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=%e7%81%b5%e6%84%9f%e6%9d%a5%e8%87%aa

img

NO.2
docker方式安装

新建docker-compose.yml

注意,这里指定了v4.9.0版本(至于为什么,右面会说)

version: '3'

services:
netease_cloud_music_api:
image: binaryify/netease_cloud_music_api:v4.9.0
container_name: netease_cloud_music_api
ports:
- "3001:3000"
restart: always

拉取镜像并运行

docker-compose up

img

开放端口

点击菜单,网络->防火墙->通信规则

添加入站出站规则

NeteaseCloudMusicApi:3001

img

NO.3
访问应用

访问ip:端口

看到以下页面,说明服务运行成功

img

剩下的参考文档进行使用即可

NO.4
最新docker镜像错误

如果使用docker没有指定版本或者使用的为latest版本

如binaryify/netease_cloud_music_api:latest

docker启动后会报错

提示

netease_cloud_music_api exited with code 1
netease_cloud_music_api | node:internal/modules/cjs/loader:1080
netease_cloud_music_api | throw err;
netease_cloud_music_api | ^
netease_cloud_music_api |
netease_cloud_music_api | Error: Cannot find module './generateConfig'
netease_cloud_music_api | Require stack:
netease_cloud_music_api | - /app/app.js
netease_cloud_music_api | at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)

img

看起来是最新版本的netease_cloud_music_api有npm或者node依赖的错误

所以如果docker面板无法启动对应镜像,可以尝试切换旧一点的版本,也就是倒数第二或者第三个稳定的版本,间隔发版至少一个星期或者一个月以上的版本,这样不会有太大的错误

当然,如果最新版本能运行,优先考虑新版本

NO.5
openwrt git

排错过程中,如果docker镜像无法安装netease_cloud_music_api

优先使用node方式安装,看看是否兼容或者报错,成功的话可以换一种方式运行以达到预期效果

前提是已经安装好node和npm

参考文章

OpenWrt软路由(NanoPi For NAS All In One R4S ):安装nodejs,npm,pm2,自启动等

netease_cloud_music_api官方文档node安装

https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=%e5%ae%89%e8%a3%85

img

需要使用git拉取仓库

安装git

先更新依赖库

opkg update

然后卸载git

opkg remove git

安装git

opkg install git-http

再安装

opkg install ca-bundle

完成git安装

使用git拉取仓库

git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git

进入目录

cd NeteaseCloudMusicApi

安装项目依赖

npm install

启动项目

PORT=3001 node app.js

同样的访问IP:端口即可,可以正常运行

特别提示

如果使用opkg install git方式,使用git clone时会报错

报错提示

git: 'remote-https' is not a git command. See 'git --help'

本文不是从docker面板安装,但是docker面板可以看到安装后的数据展示,仅供参考

img

NO.6
Tips

本文总结

  1. 使用了docker方式安装NeteaseCloudMusicApi(指定版本,排查最新版本的错误)

  2. 使用node方式安装运行NeteaseCloudMusicApi(用于排查定位docker错误)

  3. 整理了openWrt安装git的方式(openWrt很多依赖安装的方式有别于常规的linux)(后面很多服务,会用到git,node,npm,pm2等)

END.

推荐阅读

OpenWrt软路由(NanoPi For NAS All In One R4S ):Docker安装HomeAssistant

OpenWrt软路由(NanoPi For NAS All In One R4S ):HomeAssistant中hacs安装