Files
nexus/wiki/entities/Navidrome.md
2026-04-27 16:26:34 +08:00

61 lines
2.4 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: "Navidrome"
type: entity
aliases: []
tags: [music, media-server, self-hosted, open-source]
sources: [用docker中安装navidrome]
---
# Navidrome
## Basic Info
- **Type**: Entity / Product / Open-source Project
- **Description**: 开源音乐流媒体服务器,支持 Subsonic API 协议,可通过网页端或移动客户端访问个人音乐库
- **Author**: Deluan
- **Repository**: github.com/navidrome/navidrome
- **License**: GPL v3
## Aliases
- Navidrome
- deluan/navidromeDocker 镜像名)
## Key Capabilities
1. **Subsonic API 兼容** — 与 Subsonic 协议兼容的客户端均可使用Jellyfin/Subsonic 客户端通用)
2. **网页播放器** — 内置响应式 Web UI支持播放列表、专辑浏览、搜索
3. **移动端支持** — 支持 DSub、Substreamer、Avanté 等 Subsonic 客户端
4. **转码支持** — 按客户端网络情况自动转码为合适码率,节省带宽
5. **元数据扫描** — 自动从音乐文件中读取 ID3 标签、封面信息
6. **轻量部署** — 单 Docker 容器运行,最低 512MB 内存即可运行
## Configuration Highlights (Docker Compose)
```yaml
image: deluan/navidrome:latest
user: "1026:100" # 以非 root 用户运行
ports:
- "4533:4533"
volumes:
- /volume1/music:/music:ro # 只读挂载音乐目录
- /volume1/docker/navidrome/data:/data # 数据目录
environment:
- ND_LOGLEVEL=info
- ND_ENABLETRANSCODINGCONFIG=true # 启用转码配置 UI
- ND_AUTOTRANSCODEDOWNLOAD=true # 启用自动转码下载
- ND_TRANSCODINGCACHESIZE=200MB # 转码缓存上限 200MB
```
## Key Design Decisions
- **只读音乐挂载(`:ro`** — 防止容器误操作修改原始音乐文件
- **非 root 用户运行** — 提升容器安全性UID/GID 与宿主机用户对应
- **转码缓存限制** — 200MB 上限防止磁盘空间被缓存占满
- **端口 4533** — Navidrome 默认端口,局域网访问地址:`http://<host>:4533`
## Related Entities
- [[Jellyfin]] — 视频媒体服务器,架构类似但服务视频内容
- [[群晖 NAS]] — Navidrome 常见部署环境,音乐文件的存储位置
- [[Docker-Image]] — Navidrome 的部署方式
- [[Docker Compose]] — Navidrome 的配置管理方式
- [[Deluan/Navidrome]] — 官方 Docker 镜像发布者
## Source
- [[用docker中安装navidrome]] — Navidrome Docker 部署实战笔记