xiaomusic Docker Compose 搭建教程(小爱音响)
项目地址:https://github.com/hanxi/xiaomusic
镜像地址: https://hub.docker.com/r/hanxi/xiaomusic
1. 准备工作
-
确保环境:
- 已安装 Docker 与 Docker Compose。
- 本地或服务器上具备稳定的网络环境,并且确保小米音箱和运行 Docker 的设备在同一局域网内。
-
目录规划:
建议在服务器上创建两个文件夹,一个用于存放音乐文件(这里示例路径为/mnt/big/share/jellyfin/media/music
),另一个用于存放配置文件(如/home/xiaomusic_conf
)。你可以根据需要调整路径。
2. Docker Compose 配置文件
在你预先设定的目录下,新建 docker-compose.yml
文件,内容如下:
version: "3"
services:
xiaomusic:
image: hanxi/xiaomusic:latest
container_name: xiaomusic
restart: unless-stopped
ports:
- "58090:8090" # 映射端口:外部访问端口58090,内部使用8090
environment:
XIAOMUSIC_PUBLIC_PORT: 58090
volumes:
- /mnt/big/share/jellyfin/media/music:/app/music # 本地音乐目录,替换为你的实际路径
- /home/xiaomusic_conf:/app/conf # 配置文件目录,用于保存程序配置
说明
-
端口映射:
将容器内部的 8090 端口映射到宿主机的 58090 端口。首次访问时需要通过http://<docker-host-IP>:58090
访问服务。 -
环境变量:
设置XIAOMUSIC_PUBLIC_PORT
为 58090,确保服务内的配置与外部映射端口一致。 -
数据挂载:
/mnt/big/share/jellyfin/media/music
:为存放音乐文件的路径。/home/xiaomusic_conf
:用于存放 xiaomusic 的配置信息,方便持久化设置。
3. 部署与启动
-
进入 docker-compose.yml 所在的目录
打开终端或 SSH 连接至运行 Docker 的主机,进入存放docker-compose.yml
文件的目录。 -
启动服务
通过以下命令启动 xiaomusic 服务:docker-compose up -d
这条命令会以后台模式启动服务。如果启动成功,你可以通过
docker ps
命令查看正在运行的容器列表,确认xiaomusic
容器已运行。
4. 第一次使用与绑定流程
-
访问服务
在浏览器中打开:http://<你的服务器IP>:58090
第一次打开时,页面会要求你绑定小米账号。这一步用于让 xiaomusic 自动加载你的小米音箱信息,使得之后可以一键选择音响作为播放目标。
-
绑定小米账号
- 根据页面提示,使用小米账号登录并完成绑定。
- 绑定成功后,服务会自动获取当前局域网内已登录的小爱音箱设备列表。
-
选择音响设备
登录并绑定完成后,页面会显示已发现的音响设备(一般是小爱音箱)。此时请根据需要进行选择,确保后续通过 DLNA 协议投送音乐到正确的音响设备。
5. 使用语音控制(可选扩展)
你可以进一步结合语音口令,实现对音乐播放、切换、列表刷新等操作,例如:
支持语音口令
- 【播放歌曲】,播放本地的歌曲
- 【播放歌曲+歌名】,比如:播放歌曲周杰伦晴天
- 【上一首】
- 【下一首】
- 【单曲循环】
- 【全部循环】
- 【随机播放】
- 【关机】,【停止播放】,两个效果是一样的。
- 【刷新列表】,当复制了歌曲进 music 目录后,可以用这个口令刷新歌单。
- 【播放列表+列表名】,比如:播放列表其他。
- 【加入收藏】,把当前播放的歌曲加入收藏歌单。
- 【取消收藏】,把当前播放的歌曲从收藏歌单里移除。
- 【播放列表收藏】,这个用于播放收藏歌单。
- 【播放本地歌曲+歌名】,这个口令和播放歌曲的区别是本地找不到也不会去下载。
- 【播放列表第几个+列表名】,具体见: #158
- 【搜索播放+关键词】,会搜索关键词作为临时搜索列表播放,比如说【搜索播放林俊杰】,会播放所有林俊杰的歌。
- 【本地搜索播放+关键词】,跟搜索播放的区别是本地找不到也不会去下载。
这些语音口令的实现需要结合语音识别模块(比如小爱同学等),但 xiaomusic 本身提供了 DLNA 服务端,能方便地将播放列表传递给音响进行播放。
6. 注意事项
-
局域网一致性:
绑定小米账号和音响设备时,请确保设备均在同一网络内,避免出现发现不到设备的情况。 -
防火墙设置:
如果遇到外部访问失败,检查防火墙是否已放行 58090 端口及内网通信端口(8090 可能由 Docker 内部使用)。 -
数据持久化:
使用挂载目录保存音乐文件和配置信息,即使容器重启也不会丢失设置。
本文作者: 永生
本文链接: https://yys.zone/detail/?id=401
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
发表评论
评论列表 (0 条评论)
暂无评论,快来抢沙发吧!