60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
---
|
||
title: "Navidrome"
|
||
type: entity
|
||
aliases: []
|
||
tags: [music, media-server, self-hosted, open-source]
|
||
---
|
||
|
||
# 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/navidrome(Docker 镜像名)
|
||
|
||
## 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 部署实战笔记
|