前言
一款自托管的 Web 应用,用于从 Spotify 和 YouTube 下载 MP3 格式的歌曲、专辑或播放列表。该应用提供了一个 Web 界面,用户可输入链接,然后使用spotdl(Spotify)或yt-dlp(YouTube)下载为音频文件。
界面
以下是与该项目相关的一些图片:
功能介绍
-
下载 Spotify 和 YouTube 播放列表
根据 URL 自动检测和处理播放列表。 -
基于会话的下载目录
将每个用户会话隔离到唯一的下载目录,避免文件混乱。 -
管理员模式
允许管理员用户直接下载到服务器上的指定文件夹。 -
进度条和下载日志
通过网页界面实时查看下载进度和日志,方便跟踪状态。 -
自动清理
在指定时间后自动删除临时会话的下载文件夹,节省存储空间。 -
有组织的下载
下载内容会按艺术家和专辑文件夹分类整理,保持整洁有序。
部署方法
使用Docker安装
本教程是使用docker-compose的方式安装部署
准备条件
1)一台服务器或者NAS
我们使用飞牛云NAS和VPS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的github
https://github.com/TannerNelson16/playlistdl
目前已经115个 stars
更多功能可以访问GitHub
该项目还基于
项目spotify-downloader(用于从Spotify下载音乐)(20k stars)
https://github.com/spotDL/spotify-downloader
和项目yt-dlp(用于从YouTube下载音乐)(114k stars)
https://github.com/yt-dlp/yt-dlp
3)域名(可选)
域名可以根据自己的需求绑定
①《飞牛NAS上搭建》
直接在docker新增一个compose项目即可
新建项目:
playlistdl
compose配置如下:
services:
playlistdl: # 服务名称
image: tanner23456/playlistdl:v2 # 使用的镜像
container_name: playlistdl # 容器名称
restart: always # 始终自动重启容器
ports:
- "5225:5000" # 映射主机的5225端口到容器的5000端口
volumes:
- ./data:/data # 将当前目录下的data目录挂载到容器内的/data
environment:
ADMIN_USERNAME: "admin" # 管理员用户名
ADMIN_PASSWORD: "admin" # 管理员密码
AUDIO_DOWNLOAD_PATH: "/data" # 音频下载保存路径
CLEANUP_INTERVAL: "300" # 自动清理音频的时间间隔(单位:秒)
启动即可
正常启动
资源占用情况如下
补充docker可用的镜像仓库
国内如果无法拉取镜像的可以使用
仓库1
https://proxy.1panel.live/
仓库2
https://docker.1panel.top/
仓库3
https://mirror.azure.cn/
仓库4
https://hub.rat.dev/
仓库5
https://docker.1ms.run
仓库6
https://docker.itelyou.cf/
仓库7
https://abc.itelyou.cf/
仓库8
https://docker.ywsj.tk/
②《vps上搭建》
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
mkdir playlistdl;cd playlistdl #创建一个目录,并进入此目录
然后再新建docker-compose.yml
vim docker-compose.yml
services:
playlistdl: # 服务名称
image: tanner23456/playlistdl:v2 # 使用的镜像
container_name: playlistdl # 容器名称
restart: always # 始终自动重启容器
ports:
- "5225:5000" # 映射主机的5225端口到容器的5000端口
volumes:
- ./data:/data # 将当前目录下的data目录挂载到容器内的/data
environment:
ADMIN_USERNAME: "admin" # 管理员用户名
ADMIN_PASSWORD: "admin" # 管理员密码
AUDIO_DOWNLOAD_PATH: "/data" # 音频下载保存路径
CLEANUP_INTERVAL: "300" # 自动清理音频的时间间隔(单位:秒)
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否开启成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
playlistdl tanner23456/playlistdl:v2 "python3 /app/main.py" playlistdl 41 minutes ago Up 40 minutes 0.0.0.0:5225->5000/tcp, [::]:5225->5000/tcp
四、打开web页面使用
成功以后需要打开自己相应的端口(5225)防火墙就可以web端访问了
打开自己VPS的ip加端口在加路径就可进入初始化页面
http://ip:5225
默认不登录只能下载到本地
登录完可以直接下载到服务器
如飞牛本地
五、绑定域名
如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区