如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Spotifyd是一个作为UNIX守护进程运行的开源Spotify客户端。它能像官方客户端一样流式播放音乐,但更轻量级且支持更多平台。该镜像特别适用于Raspberry Pi和x86_64架构设备,通过Spotify Connect协议可被官方客户端(Android/iOS/桌面版)发现和控制。
注意:使用Spotifyd需要Spotify Premium账户。
Travis CI为Linux系统(AMD64和ARMv6架构)构建二进制文件,可在https://github.com/Spotifyd/spotifyd/releases/latest获取。其他系统需从源码构建,需安装ALSA包(如Ubuntu的`libasound2-dev`)。详细安装说明见https://github.com/Spotifyd/spotifyd/wiki。
需安装https://www.rust-lang.org/zh-CN/:
bashcargo build --release
生成的二进制文件位于target/release/spotifyd。默认构建ALSA后端,可通过以下方式构建其他后端:
bash# 禁用默认特性,指定其他后端 cargo build --release --no-default-features --features <backend>
Spotifyd会在XDG配置目录中搜索spotifyd.conf文件:
~/.config/spotifyd/spotifyd.conf/etc/spotifyd.conf 或 /etc/xdg/spotifyd/spotifyd.conf配置文件格式示例:
ini[global] username = 用户名 password = 密码 backend = alsa # 音频后端:alsa/pulseaudio/portaudio device = alsa_audio_device # 由`aplay -L`命令获取 mixer = PCM # 混音器名称 volume-control = alsa # 音量控制方式:alsa/alsa_linear/softvol #onevent = 播放事件触发命令 device_name = 连接显示名称 # 不能包含空格 bitrate = 320 # 比特率:96|160|320 cache_path = 缓存目录路径 volume-normalisation = true # 是否启用音量归一化 normalisation-pregain = -10 # 归一化预增益
所有字段均为可选,Spotifyd可无配置文件运行。[spotifyd] section的配置优先级高于[global],适用于共享部分配置的相关应用。值可使用双引号包围(如包含#时)。
运行spotifyd --help获取最新参数列表,支持设置PID文件、 verbose模式、非守护进程模式等。
ALSA(默认)
无需额外配置,系统通常默认安装。
PulseAudio
需编译时启用特性:
bashcargo build --release --features pulseaudio_backend
需安装PulseAudio开发包和构建工具(如build-essential)。
PortAudio(适用于macOS)
需编译时启用特性:
bashcargo build --release --no-default-features --features portaudio_backend
需安装PortAudio开发包(如macOS使用brew install portaudio)。
Spotifyd通过Spotify Connect协议通信,可直接从官方Spotify客户端(Android/iOS/桌面版)发现并控制。
Spotifyd实现了https://specifications.freedesktop.org/mpris-spec/latest/,可被通用媒体控制器(如https://github.com/acrisci/playerctl)控制。需编译时启用`dbus_mpris`特性:
bashcargo build --release --features dbus_mpris
提供systemd服务单元文件contrib/spotifyd.service,复制到以下路径:
/etc/systemd/user/~/.config/systemd/user/控制命令:
bash# 启动服务 systemctl --user start spotifyd.service # 设置开机自启 systemctl --user enable spotifyd.service
构建镜像
bashdocker build -t spotifyd:local -f Dockerfile .
运行容器
bashdocker run -d \ --net host \ # 允许本地网络发现(无此选项时Spotify Connect使用云端链接) --group-add $(getent group audio | cut -d: -f3) \ # 授予音频设备访问权限(如主机音频组ID非29) --device /dev/snd:/dev/snd \ # 挂载音频设备 -v /usr/share/alsa:/usr/share/alsa \ # 挂载ALSA配置 -v $PWD/contrib/spotifyd.conf:/etc/spotifyd.conf \ # 挂载配置文件 --name spotifyd \ spotifyd:local
后续启动
bashdocker start spotifyd
--no-daemon模式:日志输出到标准输出提交bug报告时建议启用verbose模式(增加日志详细度)。
device_name字段不支持空格本项目基于https://github.com/plietar/librespot的***工作,特别感谢https://github.com/plietar的贡献。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务