50 lines
2.4 KiB
Markdown
50 lines
2.4 KiB
Markdown
---
|
||
title: "用Docker中安装Navidrome"
|
||
type: source
|
||
tags: [docker, music, navidrome]
|
||
date: 2026-04-14
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Home Office/用Docker中安装Navidrome.md]]
|
||
|
||
## Summary (用中文描述)
|
||
- 核心主题:通过 Docker Compose 在 NAS/服务器上部署 Navidrome 音乐服务器
|
||
- 问题域:家庭音乐媒体库管理、跨设备音乐播放、流媒体服务自托管
|
||
- 方法/机制:使用 Docker Compose YAML 配置,挂载 NAS 音乐目录与数据目录,设置环境变量启用转码功能,以非 root 用户运行容器
|
||
- 结论/价值:Navidrome 提供开源、轻量、功能完整的自托管音乐流媒体解决方案,适合家庭媒体中心场景
|
||
|
||
## Key Claims (用中文描述)
|
||
- Navidrome 容器通过 `user: "1026:100"` 以非 root 用户身份运行,确保宿主机文件系统权限安全
|
||
- 音乐目录以只读模式(`:ro`)挂载,防止容器误操作修改原始音乐文件
|
||
- 转码缓存限制为 200MB(`ND_TRANSCODINGCACHESIZE=200MB`),保护磁盘空间
|
||
- 启用自动转码下载功能(`ND_AUTOTRANSCODEDOWNLOAD=true`),客户端按需获取合适音质的音乐
|
||
|
||
## Key Quotes
|
||
> `ports: - "4533:4533"` — 容器端口映射到宿主机 4533,供局域网访问
|
||
> `volumes: - /volume1/music:/music:ro` — 将 NAS 音乐目录只读挂载到容器内 /music 路径
|
||
> `ND_ENABLETRANSCODINGCONFIG=true` — 在 Web UI 中启用转码配置界面
|
||
|
||
## Key Concepts
|
||
- [[Docker Compose]]:多容器 Docker 应用的声明式配置格式
|
||
- [[媒体服务器]]:自托管音乐/视频流媒体服务
|
||
- [[转码缓存]]:按需转码并缓存,保护计算资源与磁盘空间
|
||
- [[只读挂载]]:保护原始文件不被容器修改
|
||
|
||
## Key Entities
|
||
- [[Navidrome]]:开源音乐流媒体服务器,Subsonic API 兼容,支持网页与移动客户端
|
||
- [[群晖 NAS]](Synology NAS):NAS 存储设备,音乐文件的宿主机
|
||
- [[Deluan/Navidrome]]:Navidrome 官方 Docker 镜像发布者
|
||
|
||
## Connections
|
||
- [[群晖 NAS]] ← 存储音乐文件并运行 Docker ← [[Navidrome]]
|
||
- [[Jellyfin]] ← 对标竞品媒体服务器 ← [[Navidrome]]
|
||
- [[Docker-Image]] ← 基础技术栈 ← [[Navidrome]]
|
||
|
||
## Contradictions
|
||
- 无已知冲突
|
||
|
||
## Related Sources
|
||
- [[用docker安装jellyfin]] — Jellyfin 视频媒体服务器部署笔记,架构类似但服务对象不同(视频 vs 音乐)
|
||
- [[家庭网络环境概览]] — 家庭服务器整体网络架构说明
|