这里就把Navidrome和Koel做个对比吧,我个人是觉得前者好于后者的,其原因是:
1.Navidrome是Go写的,资源占用非常少。
2.部署更简单,无论是用Docker还是手动部署,就一个二进制文件,下载即用。
3.原生支持中文。
4.因为和Subsonic兼容,所以有很多客户端支持。
当然要说缺点的话,我用了一段时间比较遗憾的是不能通过Web页面上传音乐,另外UI略微丑了一点。上传这个问题后面我会介绍一个临时解决办法。
部署我这里就直接用docker梭哈了,首先安装nginx/certbot/docker和一些需要用到的软件:
apt -y install curl nginx python-certbot-nginx curl -sSL https://get.docker.com/ | sh systemctl enable --now nginx docker
安装docker-compose:
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
新建一个目录进入到这个目录内:
mkdir -p /opt/navidrome && cd /opt/navidrome
新建一个docker-compose.yml:
nano docker-compose.yml
写入如下配置:
version: '3.5' services: navidrome: image: deluan/navidrome:latest environment: ND_SCANINTERVAL: 1m ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" ports: - "127.0.0.1:4533:4533" volumes: - "./data:/data" - "./music:/music:ro" restart: unless-stopped miniserve: image: svenstaro/miniserve:latest depends_on: - navidrome ports: - "4534:8080" volumes: - "./music:/downloads" command: "-r -z -u -q -p 8080 -a imlala:password /downloads" restart: unless-stopped
前面说了因为navidrome不支持上传功能,所以这里我自己加了个miniserve,然后就可以通过miniserve上传音乐了。
记得把password这个字段改为一个高强度的密码。当然如果你不需要的话可以把这个容器相关的配置删掉。
up起来即可:
docker-compose up -d
确认所有容器都是up状态:
docker-compose ps
之后新建nginx站点配置文件:
nano /etc/nginx/conf.d/navidrome.conf
写入如下配置:
server { listen 80; server_name navidrome.imlala.best; # 换成你的域名 client_max_body_size 0; location / { proxy_pass http://127.0.0.1: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; proxy_set_header X-Forwarded-Proto $scheme; } }
使用certbot签发ssl证书:
certbot --nginx
访问你的域名创建管理员账号:
访问你的服务器IP:4534可以看到miniserve的界面,登录进去可以上传音乐:
曲库是每隔1分钟自动扫描一次:
LALA
我什么都不卖了,告辞!
最新评论
5211314
能不能教我 一点不会