PassNAT LogoPassNAT

无公网自建音乐流媒体服务 Auddly Music Server 完美运行,NAS 极简部署个人音乐库。无公网设置帕斯内网穿透远程在线听!

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Auddly Music Server 是一个功能强大的音乐服务器,专为音乐爱好者打造的自托管音乐流媒体解决方案。该项目基于 Node.js 构建,提供了完整的音乐库管理、流媒体播放、专辑封面展示等功能。

Auddly 支持多种音乐格式,能够自动扫描和组织你的音乐收藏,提供类似 Spotify 的体验但完全由你自己控制。项目集成了 Spotify API 用于获取艺术家图片,Last.fm API 用于获取艺术家简介、相似艺术家、标签和音乐记录功能。支持播放列表管理、随机播放、搜索功能,以及用户收藏和播放统计等高级功能。

界面简洁美观,支持 RESTful API,可以轻松与各种客户端应用集成。项目采用 Docker 容器化部署,配置简单,维护方便。

项目地址: 点我跳转

部署安装

如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。

复制下列的配置文件

1version: '3'
2services:
3 app:
4 container_name: auddly-server
5 restart: always
6 build:
7 context: https://github.com/Wellenline/auddly-server.git
8 environment:
9 - MONGO_URL=mongodb://auddly:SUPER_SECRET_PASSWORD@mongodb/auddly?authSource=admin
10 - MUSIC_PATH=/music
11 - CACHE_PATH=/cache
12 - SPOTIFY_ID= # YOUR SPOTIFY ID
13 - SPOTIFY_SECRET= # YOUR SPOTIFY SECRET
14 - LAST_FM_API_KEY=YOUR_LAST_FM_CREDENTIALS
15 - LAST_FM_API_SECRET=YOUR_LAST_FM_CREDENTIALS
16 - LAST_FM_USERNAME=YOUR_LAST_FM_CREDENTIALS
17 - LAST_FM_PASSWORD=YOUR_LAST_FM_CREDENTIALS
18 - PORT=5000
19 - HOST=http://127.0.0.1:5000
20 - ADMIN_EMAIL=YOUR_ADMIN_EMAIL
21 - ADMIN_PASSWORD=YOUR_ADMIN_PASSWORD
22 - JWT_SECRET=YOUR_JWT_SECRET
23 volumes:
24 - ./CHANGE_THIS_TO_YOUR_MUSIC_PATH:/music # Mount your music inside docker
25 - ./cache:/cache # Cache to store album art and transcoded audio
26 ports:
27 - 5000:5000
28 links:
29 - mongodb
30 depends_on:
31 - mongodb
32 mongodb:
33 image: mongo:latest
34 container_name: 'auddly-mongo'
35 environment:
36 - MONGO_DATA_DIR=/data
37 - MONGO_LOG_DIR=/dev/null
38 - MONGO_INITDB_ROOT_USERNAME=auddly
39 - MONGO_INITDB_ROOT_PASSWORD=SUPER_SECRET_PASSWORD # Replace this
40 volumes:
41 - ./data/mongo:/data
42 ports:
43 - 27018:27017
44 command: mongod --auth --logpath=/dev/null

打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目

这里需要修改以下重要配置:

1. 将 `CHANGE_THIS_TO_YOUR_MUSIC_PATH` 改成你的音乐文件夹路径

2. 修改 `SUPER_SECRET_PASSWORD` 为你的数据库密码

3. 设置 `ADMIN_EMAIL` 和 `ADMIN_PASSWORD` 为你的管理员账号

4. 设置 `JWT_SECRET` 为一个随机字符串

可选配置(如需要艺术家图片和 Last.fm 功能):

- 填写 `SPOTIFY_ID` 和 `SPOTIFY_SECRET`(需要注册 Spotify 开发者账号)

- 填写 Last.fm 相关配置

如果提示端口被占用可以修改 `5000:5000` 中的第一个端口号,但是需要保持格式正确。

穿透公网

打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道

隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写

本地 IP 默认就可以

传输协议可以选择 TCP 也可以选择 HTTP/HTTPS

HTTP 就是域名的形式,教程以使用 TCP 为演示

本项目中如果没有修改端口的话默认是 5000 端口,这里本地端口就填 5000

远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定

点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可

复制帕斯内网穿透控制台的访问 IP 和端口

可以看到已经正常穿透成功了

本篇教程结束