和ChatGPT关于Swing music的一场对话(下篇)

昨天无意中刷到的系统推送的文章

点进去一看,原来介绍的就是老苏为了抛砖引玉编的 Swing music 的镜像,动作真是快啊。

坦白的说,文章比老苏写的好,所以让我纠结了好一阵子,本文我是发呢还是不发呢?不过似乎只有上篇没有下篇也不好给读者交代啊 😂

老苏很欣慰,有人用、有人写是好事情,尤其是能给别人带来启发,不过,也有点小遗憾,文中虽然提到老苏公众号,不过连个链接都没放,所以今天自己公告一下 😄

目前老苏主要在三个地方同步发文

  • 老苏的博客: https://laosu.ml

    这是老苏的自留地,支持读者留言,不过呢,因为挂在 github 上,其特性决定了,对于不会科学上网的同学来说不是太友好;

  • CSDN:https://blog.csdn.net/wbsu2004

    虽然面向程序员的博客很多,但是老苏还是选择了 CSDN,主要是排版比较好看,访问速度比较快;

  • 微信公众号:各种折腾

    可以在手机上阅读,但老苏的截图,代码有时候并未针对手机优化,导致阅读体验并不是特别好;另外因为开通公众号比较晚,所以不能留言互动;

上面三个平台的读者留言老苏都会看,但因为工作太忙,未必能及时回复

另外,因为大家现在习惯用微信群,而不是通过邮件联系工作,所以邮件基本上没时间看了,抱歉~

现在有了 ChatGPT,有些问题你问老苏,可能还不如问 ChatGPT,不仅快捷、准确,还比老苏有耐心,也许很快就没人需要老苏了,虽然不甘,但这是趋势

字数不够,废话来凑,终于要言归正传了

老苏自己折腾、编译过的镜像,Dockerfile 都放在了 github 上:https://github.com/wbsu2003/Dockerfile


安装

在群晖上以 Docker 方式安装。

在注册表中搜索 swingmusic ,选择第一个 wbsu2003/swingmusic,版本选择 latest

docker 文件夹中,创建一个新文件夹 swingmusic,并在其中建两个子文件夹,分别是 datamusic

理论上支持映射多个音乐目录;

文件夹 装载路径 说明
docker/swingmusic/data /data 存放设置、数据库和图片等
docker/swingmusic/music /music 存放音乐

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
1970 1970

环境

可变
LASTFM_API_KEY Last.fm 获取的 API Key

这个功能老苏自己也没试,只是看代码里有这个值,但官方没看到相应的说明,理论上设置之后会根据音乐🎵文件自己抓取专辑的图片 😂

关于 Last.fm 网站 API Key 的申请,可以看老苏之前写的文章👉 音乐流媒体服务器Navidrome 一文的相关章节

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 新建文件夹 swingmusic 和 子目录
mkdir -p /volume2/docker/swingmusic/{music,data}

# 进入 swingmusic 目录
cd /volume2/docker/swingmusic

# 运行容器
docker run -d \
--restart unless-stopped \
--name swingmusic \
-p 1970:1970 \
-v $(pwd)/data:/data \
-v $(pwd)/music:/music \
wbsu2003/swingmusic:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
version: '3'

services:
swingmusic:
image: wbsu2003/swingmusic
container_name: swingmusic
restart: unless-stopped
ports:
- 1970:1970
volumes:
- ./data:/data
- ./music:/music

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 swingmusic 和 子目录
mkdir -p /volume2/docker/swingmusic/{music,data}

# 进入 swingmusic 目录
cd /volume2/docker/swingmusic

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:1970 就能看到主界面,第一次要选择音乐目录,建议选 Customize root directories 自定义目录

选择我们安装时映射的 /music 目录,然后点 Select here

目前目录还是空的,因为还没上传文件

上传了几个 mp3 文件

/app/settings.py 看,音乐文件支持 flac, mp3, wav, m4a, ogg, wma, opus, alac, aiff 格式

刷新一下网页就有了

其他还有 PlaylistsFavorites,支持鼠标右键,还是很简单易用的

反代

没有特殊的地方,但是访问时,在浏览器中输入域名后,主页的提示稍有不同,但是使用还是一样的

最后来张官方的图

参考文档

swing-opensource/swingmusic: Swing Music is a beautiful, self-hosted music player for your local audio files. Like a cooler Spotify … but bring your own music.
地址:https://github.com/swing-opensource/swingmusic

swing-opensource/swingmusic-client: Browser-based client for the swing music player: (https://github.com/swing-opensource/swingmusic). Powered by VueJS, Typescript, Pinia and Axios
地址:https://github.com/swing-opensource/swingmusic-client

Swing Music | Swing Music
地址:https://swingmusic.vercel.app/

Swing Music is a beautiful, self-hosted music player for your local audio files. Like a cooler Spotify … but bring your own music. : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/126s1ss/swing_music_is_a_beautiful_selfhosted_music/