カレーうどん屋

Lao_Liu's Blog

马上订阅 カレーうどん屋 RSS 更新: https://blog.laoliu.eu.org/atom.xml

使用 Docker Compose 部署音乐服务器 Navidrome

2023年1月31日 12:00

服务介绍

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=...

剩余内容已隐藏

查看完整文章以阅读更多