Auddly Music Server的编译和安装
本文始于
2021
年11
月,已经忘记了是什么原因一直没发,这次基本上全部重写了一遍,除了官方的图,所有图片都是重新截取的;
什么是 auddly ?
auddly
是一款自托管音乐流应用程序。
什么是 auddly-server ?
auddly-server
是一款开源、简单的自托管音乐流媒体服务器,之前叫waveline-server
,主要提供API
接口服务。
关于 API
可以看官方的文档:https://github.com/Wellenline/auddly-server#api
构建镜像
如果你不想自己构建,可以跳过,直接阅读下一章节
Auddly
分为前、后端,dockhub
上虽然能搜到前端的镜像 wellenline/auddly
,但是架构是 arm64
的,而且时间也有点久远了
服务端只能找到两年前的 wellenline/waveline-server
但这没什么关系,官方提供了 Dockerfile
,只需要我们重新构建一下就可以了
服务端
构建服务端镜像的基本命令如下👇
1 | # 下载代码 |
Web 端
构建网页端镜像运行的基本命令如下👇
1 | # 下载代码 |
需要注意的是,Web
端官方的 Dockerfile
直接编译镜像会报错,需要做两处修改:
- 修改
node
的版本; 从node:15-alpine3.10
更换为node:lts-alpine
Dockerfile
中需要屏蔽COPY package-lock.json /app
安装
服务端
服务端涉及到两个镜像,我们采用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: "3" |
其中 mongodb
部分的变量说明👇:
可变 | 值 |
---|---|
MONGO_DATA_DIR |
默认设为 /data |
MONGO_LOG_DIR |
默认设为 /dev/null |
MONGO_INITDB_ROOT_USERNAME |
用户,默认设为 auddly |
MONGO_INITDB_ROOT_PASSWORD |
密码,用密码生成器生成 |
auddly-server
部分的变量说明👇:
可变 | 值 |
---|---|
MONGO_URL |
数据库库地址 |
MUSIC_PATH |
音乐路径,默认为 /music |
CACHE_PATH |
缓存路径,默认为 /cache |
JWT_SECRET |
默认为 12345 ,似乎只能使用数字 |
SPOTIFY_ID |
Spotify 客户端 ID |
SPOTIFY_SECRET |
Spotify 客户端 Secret |
LAST_FM_API_KEY |
Last.fm 获取的 API Key |
LAST_FM_API_SECRET |
Last.fm 获取的 Shared Secret |
LAST_FM_USERNAME |
Last.fm 用户 |
LAST_FM_PASSWORD |
Last.fm 密码 |
PORT |
容器端口,默认为 5000 |
HOST |
主机地址:用的群晖主机+本机端口 |
ADMIN_EMAIL |
管理员账号 |
ADMIN_PASSWORD |
管理员密码 |
- 关于
Spotify
和Last.fm
,可以参考老苏写的『 音乐流媒体服务器Navidrome 』相关部分,但老苏觉得在国内作用不大,所以没设MONGO_URL
按前面的设置,拼接为mongodb://auddly:YkdQ7iEBWTL7N2yk@adb/auddly?authSource=admin
JWT_SECRET
用密码生成随机生成了一个纯数字的674666487456875
然后执行下面的命令
1 | # 新建文件夹 auddly 和 子目录 |
如果没什么意外应该会正常启动
Web 端
Web
端就一个镜像 ,用 docker cli
安装更快捷
1 | # 运行容器 |
运行
在浏览器中输入 http://群晖IP:5122
就能看到服务端的界面,只有 JSON
格式的数据
格式化之后
1 | { |
在浏览器中输入 http://群晖IP:5121
就能看到 Web
端的界面
这里需要输入服务端的地址,就是我们前面 docker-compose.yml
文件中设定的 HOST=http://192.168.0.197:5122
如果要从互联网访问,服务端和
Web
端都需要反代
接下来需要用前面设定的 ADMIN_EMAIL
和 ADMIN_PASSWORD
登录
登录成功后的主界面还是空空的
测试用的音频还是那几个
主要是剪来剪去可以节省空间 😂
应该是没设定 Spotify
和 Lastfm
的缘故,没有专辑封面
其实专辑内有
cover.jpg
文件
音轨模式也是一样
直接可以播放
进入右上角的 Queue
有播放列表和界面
再回到首页的 Dashboard
,就会有统计信息了
小结
没有找到 Auddly
支持的音频格式的说明,反正老苏能确定的是,mp3
没问题,整轨的 wav
肯定是不支持的
参考文档
GitHub - Wellenline/waveline-server: Simple self-hosted music streaming server
地址:https://github.com/Wellenline/waveline-serverAuddly - self hosted music streaming
地址:https://auddly.app/