
steefdebruijn/docker-roonserverdocker-roonserver 是一个用于运行 RoonServer 的 Docker 镜像配置项目。首次启动时,若外部卷中未找到 RoonServer,镜像会自动下载并部署。
通过以下命令可直接启动容器:
bashdocker run -d \ --net=host \ -e TZ="Europe/Amsterdam" \ -v roon-app:/app \ -v roon-data:/data \ -v roon-music:/music \ -v roon-backups:/backup \ steefdebruijn/docker-roonserver:latest
TZ 设置为你的时区(如 Asia/Shanghai)。-v /path/to/local/app:/app)。/app 和 /data 指定不同的文件夹或卷,若指向主机同一位置,服务无法启动。/music,备份路径配置为 /backup。若主机使用 systemd,建议通过 systemd 服务管理 Roon 服务。
创建服务文件(如 /etc/systemd/system/roon.service),内容如下:
ini[Unit] Description=Roon After=docker.service Requires=docker.service [Service] TimeoutStartSec=0 TimeoutStopSec=180 ExecStartPre=-/usr/bin/docker kill %n ExecStartPre=-/usr/bin/docker rm -f %n ExecStartPre=/usr/bin/docker pull steefdebruijn/docker-roonserver ExecStart=/usr/bin/docker \ run --name %n \ --net=host \ -e TZ="Europe/Amsterdam" \ -v roon-app:/app \ -v roon-data:/data \ -v roon-music:/music \ -v roon-backups:/backup \ steefdebruijn/docker-roonserver ExecStop=/usr/bin/docker stop %n Restart=always RestartSec=10s [Install] WantedBy=multi-user.target
若使用 docker-compose 环境,创建 docker-compose.yaml 文件后,通过 docker-compose up -d 启动服务。
yamlversion: "3.7" services: docker-roonserver: image: steefdebruijn/docker-roonserver:latest container_name: docker-roonserver hostname: docker-roonserver network_mode: host environment: TZ: "Europe/Amsterdam" volumes: - roon-app:/app - roon-data:/data - roon-music:/music - roon-backups:/backup restart: always volumes: roon-app: roon-data: roon-music: roon-backups:
若访问远程 SMB/CIFS 共享时遇到问题,需为容器添加额外权限,有两种解决方式(参考 issue #15):
bashdocker run --privileged --name roonserver ... # 其他参数不变
yamlprivileged: true
根据主机系统和安全设置,可能需要添加以下权限:
bashdocker run --cap-add SYS_ADMIN --cap-add DAC_READ_SEARCH --security-opt apparmor:unconfined ... # 其他参数不变
yamlcap_add: - SYS_ADMIN - DAC_READ_SEARCH security_opt: - apparmor:unconfined
若主机连接多个网络,且 Roon 核心无法发现音频端点/设备,可尝试创建 macvlan 网络(参考 issue #1):
bashdocker network create -d macvlan \ --subnet 192.168.1.0/24 --gateway 192.168.1.1 \ --ip-range 192.168.1.240/28 -o parent=enp4s0 roon-lan docker run --network roon-lan --name roonserver ... # 其他参数不变
需将子网、网关调整为音频设备所在网络的配置;IP 范围需避免与网络中其他设备冲突,且若子网启用 DHCP,需确保 IP 范围在 DHCP 分配之外。
若需使用 Roon 扩展,建议单独部署扩展管理器容器,例如 theappgineer/roon-extension-manager。(注:作者未测试过扩展功能,本人不使用 Roon 扩展。)
请务必备份 roon-backups 卷中的数据,建议进行异地备份。
祝使用愉快!—— Steef
debian:12-slim,依赖更新为 libicu72debian:11-slimdebian:10.9-slim;新增 /app 和 /data 卷路径冲突检查debian-9.6manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务