Freyr-js Docker 部署:10 分钟搭好音乐下载容器
【免费下载链接】freyr-jsA tool for downloading songs from music streaming services like Spotify and Apple Music.项目地址: https://gitcode.com/gh_mirrors/fr/freyr-js
Freyr-js 是一款音乐下载工具,能从 Spotify、Apple Music 等流媒体抓取歌曲;用 Docker 部署可跳过繁琐的依赖配置。本文把安装、克隆、构建、启动串成一条编号流程,并讲清下载目录挂载与内存参数,10 分钟跑通首次下载。
📦 从克隆到启动:一条流程装好 Freyr-js
环境准备与部署三步合并成一条流程,跟着做即可。
1. 安装 Docker 并拉取源码先装好 Docker 与 Docker Compose(负责创建和编排容器),装完拉下源码并进入目录,后面所有命令都在这个目录执行。
sudo apt-get update && sudo apt-get install docker.io docker-compose -y sudo systemctl enable docker && sudo systemctl start docker git clone https://gitcode.com/gh_mirrors/fr/freyr-js && cd freyr-js2. 构建镜像在源码目录执行构建,Dockerfile 走多阶段构建,先装依赖、精简代码,最终产出基于 Alpine 的轻量镜像。
docker build -t freyr-js:latest .3. 启动容器这条命令一次性挂上下载目录、指定 Node 内存上限并给容器起名;容器以后台运行,随时可用docker logs freyr-container查看日志。
docker run -d --name freyr-container \ -v ~/freyr-music:/data \ -e "FREYR_NODE_ARGS=--max-old-space-size=4096" \ freyr-js:latest⚙️ 下载目录挂载、内存参数与持久化
启动命令里的参数各司其职,理解它们能帮你避开大多数坑:
-v ~/freyr-music:/data:把宿主机目录挂到容器内的/data。Dockerfile 已把/data声明为持久化卷,歌曲都落在这里,容器重启也不会丢。挂载前先执行mkdir -p ~/freyr-music建好目录,否则 Docker 会以 root 自动创建,之后写入容易被拒。-e "FREYR_NODE_ARGS=--max-old-space-size=4096":入口脚本 freyr.sh 会把它作为 Node 启动参数,给进程划出 4GB 堆内存,批量下载整张专辑时更稳。- 目录归属:容器内以 uid 1000 的 freyr 用户运行,宿主机目录要归属给它,写入才不会报权限错误,具体命令见文末排查清单。
🎵 用一条 Spotify 链接跑通首次下载
容器已在后台运行,用docker exec进去执行下载,把下面这条 Spotify 曲目链接换成你自己的即可。
docker exec -it freyr-container freyr https://open.spotify.com/track/127QTOFJsJQp5LbJbu3A1yFreyr-js 会解析链接、抓取元数据与封面,最终把.m4a按「艺术家/专辑/曲目」结构保存到挂载目录~/freyr-music下。
🔍 Freyr-js 支持哪些音乐服务
它支持的服务由 src/services/ 目录下的模块决定,目前包含:
spotify.js:Spotifyapple_music.js:Apple Musicdeezer.js:Deezeryoutube.js:YouTube
只要手里有这些平台的歌曲、专辑、艺人或播放列表链接,都可以丢给 Freyr-js 处理。
🛠️ 权限报错与网络异常排查清单
按顺序逐项排查,多数问题能直接定位:
- 写入挂载目录报 Permission Denied:通常是宿主机目录归属不对,把目录交给容器用户即可。
sudo chown -R 1000:1000 ~/freyr-music- 下载卡住或连不上源:先确认容器网络正常;如果宿主机网络更稳,重建容器时加上
--network=host直接走宿主机网络。 - 内存不足被杀:把启动命令里的
--max-old-space-size=4096调大到实际可用内存。
容器化部署的价值在于环境隔离、跨机器可移植、维护简单:同一镜像在任何装了 Docker 的机器上行为一致,升级或迁移时重建容器即可。现在按上面的编号流程走一遍,十分钟就能开始下载你的第一首歌。
【免费下载链接】freyr-jsA tool for downloading songs from music streaming services like Spotify and Apple Music.项目地址: https://gitcode.com/gh_mirrors/fr/freyr-js
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考