惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
The Register - Security
The Register - Security
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美
罗磊的独立博客
U
Unit 42
S
SegmentFault 最新的问题
Y
Y Combinator Blog
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
Schneier on Security
Schneier on Security
Know Your Adversary
Know Your Adversary
C
Check Point Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
The Hacker News
The Hacker News
博客园 - 叶小钗
C
Cybersecurity and Infrastructure Security Agency CISA
Spread Privacy
Spread Privacy
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
L
Lohrmann on Cybersecurity
A
About on SuperTechFans
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
S
Securelist
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Scott Helme
Scott Helme
博客园 - 聂微东
博客园 - 【当耐特】
T
Tenable Blog
I
Intezer
D
DataBreaches.Net
B
Blog RSS Feed
Security Latest
Security Latest
C
Cisco Blogs
T
Tor Project blog
N
Netflix TechBlog - Medium

カレーうどん屋

パソコンをアップグレードした 我再也不能不假思索 Soundcore C30i 耳机 日本之行-第二站-奈良 23 年对我影响最大的硬件与软件 旅行与军粮 被我整坏的路由器和服务器 日本之行-第一站-大阪 深圳-香港三日行 My Second Attempt To ARM Servers 修复 UEFI 引导的 GRUB 使用 Docker Compose 部署 Keycloak 20 寻梦穿越机 - 入门浅谈 使用再生龙 Clonezilla 备份操作系统 BETAFPV 高频头固件编译 AttributeError DIY 显示器音箱 迁移 Hexo 渲染环境至 GitHub Actions DELL 灵越 15 5547 拆解与更换硅脂 Virmach Japan
使用 Docker Compose 部署音乐服务器 Navidrome
Kare Udon · 2023-01-31 · via カレーうどん屋

服务介绍

Navidrome 是一款兼容 Subsonic API 的开源音乐服务器软件,它提供了一个不错的 WebUI,也可以将支持 Subsonic API 的客户端接入。

目前项目正处在活跃开发中,各种各样的新功能正在陆续加入。

我的客户端选择

电脑端

自带 WebUI, Sonixd 【跨平台】

iOS

play:sub 【付费软件 4.99$】

部署方式

采用 Docker Compose 部署 Navidrome,使用 Nginx 作为反向代理。

Docker Compose 配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
user: 1000:1000 # should be owner of volumes
ports:
- "127.0.0.1:4533:4533"
restart: unless-stopped
environment:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
ND_SEARCHFULLSTRING: true
# Optional: fetch artist images from spotify
ND_SPOTIFY_ID:
ND_SPOTIFY_SECRET:
# Optional: fetch artist information from last.fm
ND_LASTFM_APIKEY:
ND_LASTFM_SECRET:
ND_LASTFM_LANGUAGE: en
volumes:
- "./data:/data" # Navidrome data
- "/APTH-TO/navidrome-music:/music:ro" # Music folder

使用命令 docker compose up -d 启动服务。

Nginx 配置文件

我建议使用 DigitalOcean 的 Nginx 配置生产工具,示例配置如下:

示例配置

也可参考下述配置,此为 DigitalOcean 生成配置的简化版:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name music.example.com;

# SSL
ssl_certificate /etc/letsencrypt/live/music.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/music.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/music.example.com/chain.pem;

# logging
access_log /var/log/nginx/access.log combined buffer=512k flush=1m;
error_log /var/log/nginx/error.log warn;

# reverse proxy
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:4533;
}
}

# subdomains redirect
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name *.music.example.com;

# SSL
ssl_certificate /etc/letsencrypt/live/music.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/music.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/music.example.com/chain.pem;
return 301 https://music.example.com$request_uri;
}

音乐管理

我一直以文件夹分类的方式管理音乐,但 Navidrome 并不支持文件夹分类。它是根据音乐标签来分类的,例如按照歌手、专辑等依据分类歌曲。

因此,若想使用 Navidrome,需要对音乐进行标签管理。

大约两年前,我写了 一篇文章 介绍使用 Music Tag 和 Foobar2000 两款软件来管理音乐。

Music Tag 的标签源是网易云音乐、豆瓣音乐、QQ 音乐等国内音乐平台,说实话,这些平台的音乐标签质量都不是很好,所以我一直在寻找更好的音乐标签源。

直到我发现了 MusicBrainz,这是一个开源的音乐标签数据库,任何人都可以为它贡献标签。在体验之后,我发现 MusicBrainz 的音乐标签质量要比国内音乐平台的标签质量好很多,所以我决定将 MusicBrainz 作为我的音乐标签源。

我使用 Picard 这款软件来从 MusicBrainz 获取音乐标签。

将音乐导入 Picard 后,它会自动从 MusicBrainz 获取音乐标签,然后将标签写入音乐文件,十分方便。

开始使用

不论是使用 Navidrome 自带的 Web 界面,还是使用兼容 Subsonic API 的客户端,只要连接到 Navidrome,便可开始享受你的私人音乐库。