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

news2024/9/28 17:30:28

在这里插入图片描述

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

在这里插入图片描述

点进去一看,原来介绍的就是老苏为了抛砖引玉编的 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存放音乐

在这里插入图片描述

端口

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

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

在这里插入图片描述

环境

可变
LASTFM_API_KEYLast.fm 获取的 API Key

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

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

命令行安装

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

# 新建文件夹 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 文件

version: '3'

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

然后执行下面的命令

# 新建文件夹 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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/586863.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jQuery实现响应式瀑布流效果(jQuery+flex)

瀑布流原理:是一种常见的网页布局方式,它的特点是将内容以多列的形式呈现,每一列的内容高度不固定,根据内容的大小自适应调整,从而形成了像瀑布一样的流动效果。 瀑布流的实现原理涉及到数据加载、布局设计、图片加载和…

ML算法——KNN随笔【全国科技工作者日创作】【机器学习】

9、K-Nearest Neighbors (KNN) 9.1、理论部分 K最邻近算法 把一个物体表示成向量【特征工程】,且 KNN 需要考虑 【特征缩放】。标记每个物体的标签计算两个物体之间的距离/相似度选择合适的 K 未知点的判断基于已知点的距离,选出最近的K个点,投票选出…

pyjail初了解

前言 最近在各种比赛Misc方向都能多多小小看到Python jail题,通过eval或者exec等函数执行Python的代码获取shell,实现Python逃逸,但是我不是太会,因此找点题目做一下,总结一下。 常用Python的魔术方法 _init_:用于P…

chatgpt赋能python:Python中小数点保留的几种方法

Python中小数点保留的几种方法 作为一名Python工程师,我们经常需要对数字进行处理。在处理时,我们需要将数字进行格式化,例如保留小数点后几位或添加千位分隔符等。其中,保留小数点后几位是比较常见的需求。本文将介绍Python中小…

chatgpt赋能Python-python中怎么安装aip

概述 在现代的SEO中,使用机器学习和自然语言处理的API来分析关键字和网页内容已经成为一个普遍的实践。Google API是其中最受欢迎的一个,因为它可以提供多种功能,包括分析关键字、分析文本和图像识别等。 Python作为一种优秀的脚本语言&…

Linux Apache 配置与应用 【虚拟主机 连接保持 日志分割 分析系统 优化网页】

--------构建虚拟 Web 主机-------- 虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建…

《深入理解计算机系统(CSAPP)》第8章 异常控制流 - 学习笔记

写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…

chatgpt赋能python:Python合并函数:一个简单但有用的工具

Python合并函数:一个简单但有用的工具 Python是一种优雅而强大的编程语言,拥有许多内置的函数和库,可以让编程变得更加简单和高效。其中,合并函数是一个非常有用的工具,它可以让我们快速而灵活地合并和处理数据。 什…

5月30日第壹简报,星期二,农历四月十二

5月30日第壹简报,星期二,农历四月十二坚持阅读,静待花开1. 比亚迪:自主研发了常压油箱的燃油蒸汽排放控制技术,能符合蒸发排放法规标准, 愿与所有同行共享核心技术专利。2. 中国计划2030年前实现首次登月&a…

chatgpt赋能python:Python中升序和降序排序:什么是升序和降序以及如何使用Python进行排序

Python中升序和降序排序:什么是升序和降序以及如何使用Python进行排序 介绍 Python是一种强大的编程语言,可以用来处理各种类型的数据。其中包括对数据进行排序,Python具有方便且易于使用的排序功能。在Python中,可以使用升序和…

chatgpt赋能python:Python中可迭代对象的介绍

Python中可迭代对象的介绍 Python是一种高级编程语言,它具有简单易学、可读性强、功能强大等特点,成为了数据科学、机器学习、Web开发等领域的热门选择。Python中有很多重要的概念和功能,其中之一就是支持可迭代对象的概念。 在Python中&am…

chatgpt赋能python:Python中如何生成表格

Python中如何生成表格 在数据分析和处理中,表格是一种常见的数据格式,并且在不同的场景下都有着不同的用途。Python作为一种高效的编程语言,可以帮助我们轻松地生成和操作表格数据。在本文中,我们将介绍Python中生成表格的方法&a…

IDEA控制台tomcat 乱码

问题 IDEA控制台tomcat 乱码 详细问题 项目部署至tomcat上,启动tomcat,IDEA控制台终端Server日志,Tomcat Localhost日志,Tomcat Catalina日志乱码 Server日志 D:\tomcat9\bin\catalina.bat run [2023-05-29 11:20:24,521] Art…

【Linux】在Ubuntu中卸载、下载mysql以及如何检查mysql是否卸载成功

介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力&a…

5.30黄金空头能否延续?今日多空如何布局?

近期有哪些消息面影响黄金走势?今日黄金多空该如何研判? ​黄金消息面解析:周一(5月29日)进入欧市盘中,对美国周末达成债务上限协议的乐观情绪推动风险情绪回升,与此同时,上周公布的美国PCE数据让美联储难…

ChatGPT Sorry, you have been blocked(抱歉,您已被屏蔽)的解决方法

最近在使用 ChatGPT 时大家遇到的最多的问题就是 Sorry, you have been blocked(抱歉,您已被屏蔽)了,之前的 Access denied 似乎都不常见了,今天老王就分享下这个问题的原因和解决方法。 一、ChatGPT 被屏蔽 blocked …

汇编调试及学习

汇编调试 打印寄存器的值 打印内存地址 打印8字节,就是64位 打印格式 是从低位取过来的 b 字节 h 双字节 w四字节 g八字节 前变基 后变基 。 后变基这个变基会发生变化的。前变基变基不会发生变化需要用!号。 前变基 , 加了&#xff0…

【Springcloud】RabbitMQ入门

文章目录 一、同步通讯与异步通讯1、同步调用的优缺点2、异步调用的优缺点 二、RabbitMQ1、MQ消息队列2、RabbitMQ的安装3、RabbitMQ的结构和概念4、RabbitMQ的消息模型5、入门案例 一、同步通讯与异步通讯 同步通讯就像打视频,两边可以实时得到相关信息。异步通讯…

打开复制过去的virtualbox文件之后,在打开时出现只有logs文件的解决方法

文章目录 前言 问题一 打开方式 注意事项 问题二 解决方法 总结 前言 打开复制过去的virtualbox文件之后,在打开时出现只有logs文件的解决方法 问题一 virtualbox虚拟机拷贝到其他电脑上面如何打开? 打开方式 将 VirtualBox 虚拟机拷贝到其他…

第三章 JVM内存概述

附录:精选面试题 Q:为什么虚拟机必须保证一个类的Clinit( )方法在多线程的情况下被同步加锁 ? A: 因为虚拟机在加载完一个类之后直接把这个类放到本地内存的方法区(也叫原空间)中了,当其他程序再来调这个类…