2.7 KiB
2.7 KiB
title, type, tags, date
| title | type | tags | date | |||||
|---|---|---|---|---|---|---|---|---|
| 用Docker中安装Navidrome | source |
|
2026-04-15 |
Source File
Summary
- 核心主题:Synology NAS Docker 部署 Navidrome 开源音乐服务器
- 问题域:自托管音乐流媒体服务搭建,支持多客户端访问和转码
- 方法/机制:docker-compose 定义服务,指定 UID/GID 用户映射,音乐目录只读挂载,数据目录持久化
- 结论/价值:获得私有 Spotify 替代品,完全掌控音乐数据和流媒体服务
Key Claims
- Navidrome 音乐目录以只读(:ro)方式挂载,防止容器误操作损坏原始音乐文件
- ND_AUTOTRANSCODEDOWNLOAD=true 使 Navidrome 根据客户端能力自动下载合适格式
- ND_TRANSCODINGCACHESIZE=200MB 限制转码缓存保护 NAS 磁盘空间
- 容器以非 root 用户(1026:100)运行,符合最小权限原则
Key Quotes
"ND_LOGLEVEL=info — 开启详细日志,便于排查流媒体传输问题" — 故障排查配置 "ND_ENABLETRANSCODINGCONFIG=true — 启用转码配置界面" — 管理接口配置 "user: "1026:100" — 以指定 UID/GID 用户身份运行容器" — 安全加固配置
Key Concepts
- Navidrome:开源 Web UI 音乐播放器,支持 Subsonic API,兼容绝大多数音乐客户端
- 音乐流媒体服务器:将本地音乐库通过 HTTP 流媒体协议提供给多设备客户端
- Transcoding(转码):根据客户端能力动态转换音频格式(如 FLAC → MP3 320kbps)
- 只读挂载::ro 后缀保护原始数据,容器只能读取不能写入
- Subsonic API:开源音乐流媒体协议标准,众多音乐 App 均兼容此协议
Key Entities
- Synology NAS:硬件平台(192.168.3.17),Docker 宿主机
- Docker:容器化平台,运行 Navidrome 服务
- deluan/navidrome:Navidrome 官方 Docker 镜像
Connections
- 用Docker中安装Navidrome ← hosted_on ← Synology NAS
- 用Docker中安装Navidrome ← managed_by ← Docker
Navidrome Docker Compose 配置
version: '3.8'
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
user: "1026:100"
restart: unless-stopped
ports:
- "4533:4533"
volumes:
- /volume1/music:/music:ro"
- /volume1/docker/navidrome/data:/data
environment:
- ND_LOGLEVEL=info
- ND_ENABLETRANSCODINGCONFIG=true
- ND_AUTOTRANSCODEDOWNLOAD=true
- ND_TRANSCODINGCACHESIZE=200MB
Contradictions
Reference
- Navidrome Doc: https://www.navidrome.org/docs/
- Navidrome FAQ: https://www.navidrome.org/docs/faq/