Navidrome 是一个轻量级、功能强大的音乐流媒体服务器,可以通过 Docker 容器方便地部署。本教程涵盖从本地部署到远程访问的详细步骤。
一、环境准备
1. 安装 Docker 和 Docker Compose
在服务器(或本地机器)上安装 Docker 和 Docker Compose。
安装 Docker
Ubuntu 示例:
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
CentOS 示例:
sudo yum update
sudo yum install -y docker
sudo systemctl enable --now docker
验证 Docker 是否安装成功:
docker --version
安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
2. 确保有音乐文件准备
将你的音乐文件整理好,可以保存在一个目录下,比如 /home/user/Music
。
二、本地部署 Navidrome
1. 创建 Navidrome 配置和音乐存储目录
mkdir -p ~/navidrome/config ~/navidrome/music
将你的音乐文件复制到 ~/navidrome/music
中:
cp -r /path/to/your/music/* ~/navidrome/music/
2. 创建 Docker Compose 文件
在 ~/navidrome
目录下创建 docker-compose.yml
:
version: "3.8"
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
restart: unless-stopped
ports:
- "4533:4533" # Navidrome 默认端口
volumes:
- ./config:/data
- ./music:/music
environment:
ND_LOGLEVEL: info
ND_SCANNINGINTERVAL: "1h" # 自动扫描音乐文件的间隔
ND_SESSIONTIMEOUT: "24h" # 登录会话超时时间
3. 启动 Navidrome
在 ~/navidrome
目录下运行:
docker-compose up -d
验证服务是否启动:
docker ps
访问本地服务:
- 打开浏览器并输入
http://localhost:4533
(或http://<你的IP>:4533
)。 - 初次访问会提示创建管理员账户。
三、配置远程访问
1. 开启端口转发
确保服务器或路由器上开放 4533 端口。
检查端口是否已开放:
sudo ufw allow 4533
sudo ufw reload
验证端口状态:
sudo netstat -tuln | grep 4533
2. 配置反向代理(推荐 Nginx)
反向代理可以通过域名访问 Navidrome,同时启用 HTTPS 提升安全性。
安装 Nginx
Ubuntu 示例:
sudo apt update
sudo apt install -y nginx
配置 Nginx
创建配置文件 /etc/nginx/sites-available/navidrome
:
nginx复制代码
server {
listen 80;
server_name yourdomain.com; # 替换为你的域名或 IP
location / {
proxy_pass http://localhost:4533;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
启用配置并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/navidrome /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
启用 HTTPS(Let’s Encrypt)
使用 Certbot 为域名启用 HTTPS:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
3. 配置动态域名(如没有固定 IP)
如果你没有固定的公网 IP,可以使用动态域名服务(如 No-IP 或 Cloudflare)设置 DDNS。
四、优化与管理
1. 自动更新音乐库
Navidrome 会根据 ND_SCANNINGINTERVAL
配置自动扫描新增的音乐文件。如果需要手动触发:
docker exec -it navidrome navidrome --scan
2. 查看日志
调试或排查问题:
docker logs -f navidrome
3. 更新 Navidrome
定期更新 Docker 镜像:
docker-compose pull
docker-compose up -d
4. 管理用户
通过 Web 界面可以管理用户和播放列表。
五、远程访问听歌
- 通过浏览器访问
http://yourdomain.com
或https://yourdomain.com
。 - 在移动设备上安装支持 Subsonic 协议的播放器(如 DSub 或 Ultrasonic)。
- 服务器地址:你的域名(如
https://yourdomain.com
)。 - 用户名和密码:在 Navidrome Web 界面创建的账号。
- 服务器地址:你的域名(如
六、总结
通过 Docker 部署 Navidrome 并结合反向代理和 HTTPS 配置,可以快速搭建安全、高效的音乐流媒体服务器。关键步骤包括:
- 本地部署 Navidrome。
- 开放端口或设置反向代理实现远程访问。
- 启用 HTTPS 提升安全性。
如有任何问题或特殊需求,欢迎进一步咨询!
发布者:myrgd,转载请注明出处:https://www.object-c.cn/4419