Contents

Docker Roon Server 本地建置與部署教學

本教學整合了 Roon Server 的 Docker 映像建置與部署流程,讓你可以在本地環境中運行 Roon Server。


Info
以下這篇參考Docker上构建并部署Roon镜像 - 虚境星尘撰寫,並做了一些啟動調整,算是我自己個人筆記。

前置需求

  • Docker 與 Docker Compose 已安裝
  • 足夠的磁碟空間(建議至少 50GB)
  • 區域網路環境

步驟一:取得 Dockerfile

方法:從 GitHub 克隆

1
2
git clone https://github.com/cyril2007/docker-roonserver-local.git
cd docker-roonserver-local

相關準備好的 RoonServer_linuxx64.tar.bz2 檔案也需要放在同一目錄中。


步驟二:建置 Docker 映像

在包含 Dockerfile 的目錄中執行:

1
docker build -t docker-roonserver:latest .

建置過程說明:

  • -t docker-roonserver:latest:為映像命名並標記為 latest 版本
  • .:使用當前目錄的 Dockerfile

建置時間約 5-10 分鐘,視網路速度而定。

驗證映像建置成功

1
docker images | grep docker-roonserver

應該會看到類似輸出:

1
docker-roonserver   latest    abc123def456   2 minutes ago   500MB

步驟三:準備 Docker Compose 配置

選項 A:使用 Host 網路模式(推薦)

建立 docker-compose.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
version: '3.8'

services:
  roon-server:
    image: docker-roonserver:latest
    container_name: roon-server
    network_mode: host
    environment:
      - TZ=Asia/Taipei
    volumes:
      - ./roon-app:/app
      - ./roon-data:/data
      - ./roon-music:/music
      - ./roon-backups:/backup
    restart: unless-stopped

優點

  • ✅ 最佳的網路相容性
  • ✅ 自動裝置發現功能完整
  • ✅ 不需要手動配置端口

適用情境

  • 區域網路使用
  • 需要自動發現音訊裝置
  • 簡化網路配置

步驟四:啟動服務

1. 建立目錄結構(可以不用做,自動會建立)

1
mkdir -p roon-app roon-data roon-music roon-backups

2. 啟動容器

1
docker-compose up -d

3. 查看日誌

1
docker-compose logs -f roon-server

4. 驗證服務運行

1
docker ps | grep roon-server

設定 Roon 客戶端

1. 下載 Roon 控制 App

  • iOS/Android:從 App Store 或 Google Play 下載 “Roon”
  • Windows/Mac:從 Roon 官網 下載

2. 連接到 Server

  1. 開啟 Roon App
  2. App 應該會自動發現區域網路中的 Roon Server
  3. 如果沒有自動發現,手動輸入 Server IP 地址
  4. 登入你的 Roon 帳號

3. 新增音樂庫

在 Roon App 中:

  1. 進入 Settings → Storage
  2. 新增儲存位置指向 /music 目錄
  3. 等待音樂掃描完成

管理與維護

常用指令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 停止服務
docker-compose down

# 重啟服務
docker-compose restart

# 查看日誌
docker-compose logs -f

# 更新映像(重新建置)
docker build -t docker-roonserver:latest .
docker-compose up -d --force-recreate

# 備份數據
tar -czf roon-backup-$(date +%Y%m%d).tar.gz roon-data roon-backups

資料夾說明

  • roon-app:Roon 應用程式檔案
  • roon-data:資料庫與設定
  • roon-music:音樂檔案存放處
  • roon-backups:自動備份位置

故障排除

問:找不到音樂裝置

症狀:Roon App 無法發現音訊輸出裝置

解決方案

  1. 改用 host 網路模式(最有效)
    1
    
    network_mode: host
    
  2. 確認防火牆沒有阻擋 mDNS(5353/udp)
  3. 確認裝置與 Server 在同一區域網路
Warning
我之前開 port,安裝完 Roon 沒看到我音樂裝置,後來調整 Docker Network 模式才抓到。

進階配置

使用外部音樂庫

如果音樂存放在 NAS 或外部硬碟:

1
2
3
4
5
volumes:
  - ./roon-app:/app
  - ./roon-data:/data
  - /path/to/your/music:/music  # 修改為實際路徑
  - ./roon-backups:/backup

我音樂透過掛載 Navdroime 的音樂資料夾,這樣 Roon 就能直接讀取 Navdroime 上的音樂檔案。因為我最近要用 AudioMuse-AI,產生播放清單(m3u)可以儲存和 Roon 共享使用。