暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Auddly Music Server的编译和安装

各种折腾 2022-11-25
846

本文始于 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
,只需要我们重新构建一下就可以了

服务端

构建服务端镜像的基本命令如下👇

# 下载代码
git clone https://github.com/Wellenline/auddly-server.git
  
# 或者加个代理  
git clone https://ghproxy.com/github.com/Wellenline/auddly-server.git
  
# 进入目录  
cd auddly-server
  
# 构建镜像
docker build -t wbsu2003/auddly-server:v1 .

Web 端

构建网页端镜像运行的基本命令如下👇

# 下载代码
git clone https://github.com/Wellenline/auddly.git
  
# 或者加个代理  
git clone https://ghproxy.com/github.com/Wellenline/auddly.git
  
# 进入目录  
cd auddly

# 修改 Dockerfile,解决报错
  
# 构建镜像
docker build -t wbsu2003/auddly:v1 .

# 运行容器
docker run -d \
   --name auddly-web
   -p 5121:80 \
   wbsu2003/auddly:v1

需要注意的是,Web
端官方的 Dockerfile
直接编译镜像会报错,需要做两处修改:

  1. 修改 node
    的版本;从 node:15-alpine3.10
    更换为 node:lts-alpine
  2. Dockerfile
    中需要屏蔽 COPY package-lock.json app

安装

服务端

服务端涉及到两个镜像,我们采用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件

version: "3"

services:
  app:
    image: wbsu2003/auddly-server:latest
    container_name: auddly-server
    restart: always
    environment:
      - MONGO_URL=mongodb://auddly:YkdQ7iEBWTL7N2yk@mongodb/auddly?authSource=admin
      - MUSIC_PATH=/music
      - CACHE_PATH=/cache
      - JWT_SECRET=674666487456875
      - PORT=5000
      - HOST=http://192.168.0.197:5122
      - ADMIN_EMAIL=wbsu2003@gmail.com
      - ADMIN_PASSWORD=123456
    volumes:
      - ./music:/music
      - ./cache:/cache
    ports:
      - 5122:5000
    links:
      - mongodb
    depends_on:
      - mongodb

  mongodb:
    image: mongo:latest
    container_name: auddly-mongo
    environment:
      - MONGO_DATA_DIR=/data
      - MONGO_LOG_DIR=/dev/null
      - MONGO_INITDB_ROOT_USERNAME=auddly
      - MONGO_INITDB_ROOT_PASSWORD=YkdQ7iEBWTL7N2yk
    volumes:
      - ./data:/data
    command: mongod --auth --logpath=/dev/null

其中 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
管理员密码
  1. 关于 Spotify
    Last.fm
    ,可以参考老苏写的『  音乐流媒体服务器Navidrome 』相关部分,但老苏觉得在国内作用不大,所以没设
  2. MONGO_URL
    按前面的设置,拼接为 mongodb://auddly:YkdQ7iEBWTL7N2yk@adb/auddly?authSource=admin
  3. JWT_SECRET
    用密码生成随机生成了一个纯数字的 674666487456875

然后执行下面的命令

# 新建文件夹 auddly 和 子目录
mkdir -p /volume2/docker/auddly/{cache,data,music}

# 进入目录
cd /volume2/docker/auddly

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

如果没什么意外应该会正常启动

Web 端

Web
端就一个镜像 ,用 docker cli
安装更快捷

# 运行容器
docker run -d \
   --name auddly-web \
   -p 5121:80 \
   wbsu2003/auddly:latest

运行

在浏览器中输入 http://群晖IP:5122
就能看到服务端的界面,只有 JSON
格式的数据

格式化之后

{  
    "load":{  
        "idle":2951412165,  
        "total":3066084135  
    },  
    "version":"5.0.1",  
    "arch":"x64",  
    "node_version":"v15.14.0",  
    "num_cpus":4,  
    "uptime":229.572266431,  
    "free_mem":366473216  
}

在浏览器中输入 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-server

Auddly - self hosted music streaming
地址:https://auddly.app/

@所有人:写文不易,如果你都看到了这里,请点个
在看
,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

文章转载自各种折腾,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论