本文由 安卿辰博客 编辑整理发布,内容来源于互联网公开资料。如需转载或引用,请注明出处。
Songloft 是一款面向个人用户的自托管音乐服务器,功能上类似群晖的 Audio Station,直接与 Navidrome 竞争,非常适合 NAS 用户部署。其独特之处在于官方提供了全平台客户端及 MIoT 插件,从而支持通过小爱音箱进行音乐播放。
Songloft特点
- 本地音乐管理:扫描目录,自动提取 MP3/FLAC/WAV/APE/OGG/M4A 等格式的封面与元数据
- JS 插件体系:基于 QuickJS 沙箱,支持权限模型、健康检查、热更新,可扩展音源、元数据、设备控制
- 跨平台客户端:Flutter 实现,支持 Android、iOS、macOS、Windows、Linux、Web
- Web 界面:内置完整前端,开箱即用
- JWT 认证:双 Token(Access + Refresh),支持多设备管理
- 网络歌曲与电台:支持添加用户合法持有的网络音频 URL 及电台
- 歌单转本地:将合法持有的网络 URL 离线保存到本地,按歌单分目录、可读文件名命名,转换后回写元数据/封面/歌词
- 完整 REST API:内置 Swagger 文档,便于集成与二次开发
- 轻量高效:Go 编写,内存占用低
Docker Compose部署Songloft
创建compose.yaml配置文件,其内容如下:
服务配置如下:
services:
songloft:
image: songloft/songloft:latest
container_name: songloft
restart: always
ports:
- "58091:58091"
volumes:
- /path/to/music:/app/music
- /path/to/data:/app/data
environment:
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=your_strong_password
- LISTEN_PORT=58091
re>
其中:
/path/to/music:指定本地音乐文件的存储路径/path/to/data:Songloft 持久化数据的存放目录ADMIN_USERNAME:用于设置管理员账户名称ADMIN_PASSWORD:用于设置管理员账户密码
运行docker compose up -d以启动服务,随后访问http://IP:58091完成登录操作。
快速上手
扫描入库
首次使用时,需进入【设置 - 音乐库管理】功能页面,扫描本地歌曲并将其导入系统,具体操作参见下图。
调用小爱音箱播放
Songloft 官方推出了【MIoT 智能音箱投放插件】,安装该插件后,用户即可通过内网环境调用小爱音箱,直接播放 Songloft 服务端的音乐。
插件下载链接为:https://songloft.hanxi.cc/issues/4.html
在设置中完成插件的安装与启用。
在 Songloft 首页中,点击插件按钮以进入插件设置页面,随后选择“设备管理”,通过米家 APP 扫描二维码完成登录与授权流程。
继续选择可在内网环境使用的小爱音箱。
在【插件设置 - 服务器设置】中,需填写http://IP:58091并保存,否则可能导致歌单显示为空,无法进行选择。
最终即可顺利通过小爱音箱调用Songloft服务端的音乐播放功能。
使用客户端
官方同时提供了适用于 Windows、Linux、macOS、Android 和 iOS 的客户端,用户可根据自身平台进行下载:https://songloft.hanxi.cc/issues/8.html
结语
Songloft 是一个轻量且功能丰富的自托管音乐服务器,具备低资源占用与便捷的 Docker 部署特性。它不仅支持像群晖 Audio Station 那样管理本地音乐库,还通过 MIoT 插件实现让小爱音箱直接播放,并提供覆盖全平台的客户端。无论是 NAS 用户还是智能家居玩家,都值得尝试。
- Songloft 开源项目托管于:https://github.com/songloft-org/songloft
- 其官方网站为:https://songloft.hanxi.cc/
安卿辰博客







