Files
nexus/wiki/sources/用Docker中安装Navidrome.md

70 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "用Docker中安装Navidrome"
type: source
tags: [docker, music, navidrome, synology, nas]
date: 2026-04-15
---
## Source File
- [[raw/Home Office/用Docker中安装Navidrome.md]]
## 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.17Docker 宿主机
- [[Docker]]:容器化平台,运行 Navidrome 服务
- [[deluan/navidrome]]Navidrome 官方 Docker 镜像
## Connections
- [[用Docker中安装Navidrome]] ← hosted_on ← [[Synology NAS]]
- [[用Docker中安装Navidrome]] ← managed_by ← [[Docker]]
## Navidrome Docker Compose 配置
```yaml
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/