在群晖上搭建PlaylistDL音乐下载器
简介
什么是 PlaylistDL ?
PlaylistDL
是一个基于网页的下载器,旨在从Spotify
和YouTube
下载歌曲、专辑或播放列表,并将其转换为MP3
文件。该应用程序提供用户友好的网页界面,用户可以输入链接,系统会自动处理并下载音频文件。
主要特点
- 支持 Spotify 和 YouTube:能够识别并处理来自这两个平台的播放列表链接。
- 会话管理:为每个用户会话创建唯一的下载目录,方便管理下载文件。
- 管理员模式:允许管理员直接下载到指定的服务器文件夹。
- 实时进度条和日志:用户可以通过网页界面实时查看下载进度和日志。
- 自动清理:在指定时间后自动删除临时下载文件夹。
- 组织下载:下载的文件按艺术家和专辑整理,保持整洁。
技术背景
- 后端:使用
Flask
处理下载请求和会话管理。 - 前端:简单的
HTML
和JavaScript
界面,用于输入链接和显示进度。 - 工具:
spotdl
用于下载Spotify
播放列表。yt-dlp
用于将YouTube
播放列表下载为MP3
。
PlaylistDL
适合个人使用,但用户需遵循相关版权法律,仅下载授权使用的媒体内容。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 playlistdl
,选择第一个 tanner23456/playlistdl
,版本选择 v2
。
卷
在 docker
文件夹中,创建一个新文件夹 playlistdl
,并在其中建一个子文件夹 data
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/playlistdl/data | /data | 存放下载的 MP3 文件 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
5045 | 5000 |
环境
可变 | 值 |
---|---|
ADMIN_USERNAME | 设置管理员访问的用户名 |
ADMIN_PASSWORD | 设置管理员访问的密码 |
AUDIO_DOWNLOAD_PATH | 指定音频文件下载的目标路径 |
CLEANUP_INTERVAL | 设置会话下载文件夹的清理时间间隔 |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 playlistdl 和 子目录
mkdir -p /volume1/docker/playlistdl/data
# 进入 playlistdl 目录
cd /volume1/docker/playlistdl
# 运行容器
docker run -d \
--restart unless-stopped \
--name playlistdl \
-p 5045:5000 \
-v $(pwd)/data:/data \
-e ADMIN_USERNAME=laosu \
-e ADMIN_PASSWORD=123456 \
-e AUDIO_DOWNLOAD_PATH=/data \
-e CLEANUP_INTERVAL=300 \
tanner23456/playlistdl:v2
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
playlistdl:
image: tanner23456/playlistdl:v2
container_name: playlistdl
restart: unless-stopped
volumes:
- ./data:/data
ports:
- "5045:5000"
environment:
- ADMIN_USERNAME=laosu
- ADMIN_PASSWORD=123456
- AUDIO_DOWNLOAD_PATH=/data
- CLEANUP_INTERVAL=300
然后执行下面的命令
# 新建文件夹 playlistdl 和 子目录
mkdir -p /volume1/docker/playlistdl/data
# 进入 playlistdl 目录
cd /volume1/docker/playlistdl
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:5045
就能看到主界面
点右上角 Admin
可进入登录界面
不登录直接下载,文件是不会保存到服务器上的
用环境变量 ADMIN_USERNAME
和 ADMIN_PASSWORD
设置的值登录
这时会看到一行红色的字
Now downloading directly to your server!
为了测试下载效果,在网页上寻找音乐。老苏没有 playlist
,只能用单首替代
找一首可以正常播放的,直接复制分享的链接
粘贴到 PlaylistDL
点蓝色的 Download
按钮开始下载
下载完成
文件可以在 FileStation
中找到
本文只是演示软件功能,所下载的文件均已从服务器上删除
参考文档
TannerNelson16/playlistdl: A web-based downloader that uses either spotdl or yt-dl depending on the link provided
地址:https://github.com/TannerNelson16/playlistdl