本文最后更新于 569 天前,其中的信息可能已经有所发展或是发生改变。
使用 Rclone 挂载 Onedrive 歌曲文件,Navidrome 搭建网站,采用 docker 部署
Rclone
首先需要在 Windows 系统上运行获取配置,然后再在服务器上安装并挂载文件
获取 Token
在 Windows 电脑上下载 Rclone,下载地址:https://rclone.org/downloads/
下载完成后解压,解压完成后通过 cmd 进入该文件夹,然后运行
rclone.exe authorize "onedrive"
在弹出的浏览器中登录并授权,授权完成后会打印 Token (大括号之间的,包括大括号)
获取配置文件
运行命令
rclone.exe config
根据需求选择即可,完成后配置文件生成在:
C:\Users\%USERNAME%\AppData\Roaming\rclone
复制配置文件
首先需要在服务器创建两个文件夹
# 该文件夹放配置文件
/home/docker/rclone/config
# 该文件夹放数据,即 Onedrive 映射到的文件夹
/home/docker/rclone/data
然后将配置文件放到对应的文件夹
挂载目录
运行命令以拉取镜像
docker pull rclone/rclone:latest
挂载目录
docker run --rm \
--volume /home/docker/rclone/config:/config/rclone \
--volume /home/docker/rclone/data:/data:shared \
--volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
--device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
rclone/rclone \
mount Onedrive:music /data/music &
# 上述命令仅最后一行为 Rclone 的命令,根据实际情况修改,格式如下
rclone mount DriveName:Folder LocalFolder
# DriveName Rclone 挂载的名称
# Folder 云盘的路径
# LocalFolder 挂载到本地的文件
上述命令最后的 &
表示后台运行,命令执行后会打印进程的 PID,如需关闭使用命令
kill PID
了解更多?访问:Linux 学习 第六章 管理运行中的进程
根据示例,此处演示将 Onedrive 中 music
(不区分大小写) 目录挂载至 /home/docker/rclone/data/music
参考资料:
- https://rclone.org/onedrive/
- https://rclone.cn/install.html
- Linux上使用Rclone挂载OneDrive或GoogleDrive并设置开机自启
部署 Navidrome
采用 docker-compose,首先创建文件夹,例如
/home/docker/navidrome
创建文件 docker-compose.yml
并填入内容
vim docker-compose.yml
# 输入内容
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "8001:4533"
restart: unless-stopped
environment:
# Optional: put your config options customization here. Examples:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
volumes:
- "/home/docker/navidrome/data:/data"
- "/home/docker/rclone/data/music:/music:ro"
查看更多变量:Navidrome Configuration Options | Navidrome
然后运行命令
docker-compose up -d
访问 IP:8001
即可
参考资料:
歌曲信息
如果想要进行歌曲分类需要把歌曲的信息嵌入歌曲里,包括歌词
可以使用工具 MusicTag 进行修改
作者网站:音乐标签pc版
当然还有其他的工具,或者这个 Web 版 xhongc/music-tag-web
使用客户端
这个网页端在 PC 上使用还行,但是手机上使用一言难尽,不过好在有一些客户端可以使用