正文

支持多用户的开源音乐服务程序–知了

「知了」是一个开源的音乐服务, 可以部署在任何 Linux/Windows/macOS 设备上。

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了

相关链接

GitHub:https://github.com/mebtte/cicada

文件备份:OneDrive-2022-12-26

安装部署

准备

邮箱账号, 因为知了依赖邮箱验证码进行登录, 以及部分功能需要依赖邮箱实现, 所以需要邮箱服务进行邮件发送

部署

新建配置文件 config.json:

{
"emailHost": "smtp.example.com",
"emailUser": "example",
"emailPass": "example-password"
}

完整配置可以参看配置项, 支持 JSON/JSON5 语法.

配置项

配置文件支持 JSON 或 JSON5 格式.

data
type: string
optional
default: {{pwd}}/cicada
存放数据的目录.

port
type: number
optional
default: 8000
提供服务的端口.

emailHost
type: string
required
邮件服务器主机.

emailPort
type: number
optional
default: 465
邮件服务器端口.

emailUser
type: string
required
邮件服务器用户.

emailPass
type: string
required
邮件服务器用户密码.

initialAdminEmail
type: string
optional
初始管理员邮箱, 用于创建管理员账号, 如果未设置, 将会在首次运行服务时要求在 CLI 输入. 注意, 已完成初始化后该配置项不再生效!

mode
type: enum
optional
default: production
运行模式, development 表示开发模式, production 表示生产模式. 该配置项主要用于开发, 普通用户无需关注.

在 Releases 下载并解压对应平台的二进制包, 通过下面命令指定配置文件并启动(以 x64 Linux 为例):

./cicada-linux-x64 start -c config.json

通过 localhost:8000 或者 {{ip}}:8000 访问知了服务.

目前只提供了几种主流平台的构建包, 其他平台可以参考构建文档自行构建.

构建文档

构建当前平台二进制包

准备
Node.js >= 16
构建
拉取项目:

git clone https://github.com/mebtte/cicada.git
进入项目目录:

cd cicada
安装相关依赖:

npm install
# npm 是 node.js 包管理器, 附在 node.js 已一起安装
构建:

npm run build:current
构建过程中需要下载对应的资源包, 在代理情况下可以提高下载速度

构建成功后二进制包位于项目的 build 目录下, 一般情况下会有多个操作系统的包, 其中当前系统的包才是可运行的. 以 Apple silicon macOS 为例, 构建后会生成 linux/win/macos 三个包, 其中 macos 的包才是可运行的.

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了

常见问题

如何迁移数据 ?
知了所有数据都位于 {{base}} 目录下, 将 {{base}} 目录复制或者移动即可完成迁移.

如何安装 PWA ?
PWA 仅支持 HTTPS 或者 localhost, 知了目前暂不支持配置 HTTPS, 请使用 nginx 之类的工具进行 HTTPS 反向代理. Chrome 下安装方法请查看教程.

已知缺陷

在 iOS/iPadOS 上处于后台无法自动播放下一首, 这是因为 Safari 会暂停处于后台页面的 JavaScript.

在 Windows 下安装 PWA 后图标比其他应用图标要小, 这是因为 Windows 和 macOS 的图标占用空间不一致, PWA 无法同时兼容, 知了使用的是 macOS 图标尺寸.

相关图片

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了

支持多用户的开源音乐服务程序–知了支持多用户的开源音乐服务程序–知了