支持多用户的开源音乐服务程序–知了
「知了」是一个开源的音乐服务, 可以部署在任何 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 图标尺寸.