先搞清楚:你需要 Bridge 嗎?播放、分組、逐房音量、語音、收藏與資料庫瀏覽、播報後自動恢復——這些純 Wi-Fi 都能使用,不需要 Bridge。只有這幾樣才需要本地 Bridge:跨服務的「任意歌名」搜尋、由 Apple Home 自動化觸發 ZoneFoundry,以及「到家 / 離家」這類需要常駐在線才做得到的自動化。如果暫時用不上,大可跳過這篇。
開始前你需要
- 一台常開、裝了 Docker 的機器:NAS(群暉、威聯通)、Unraid、迷你主機或舊電腦皆可,和 Sonos 在同一個本地網絡
- ZoneFoundry iPhone app,已能正常看到並控制你的 Sonos 房間
步驟
從哪裡安裝?三條路裝出來的是同一個 Bridge,差別只在「模板新不新」:
· 直接 Docker 指令(下面這條)—— 永遠是最新映像,推薦。
· 飛牛 fnOS 應用中心—— 我們持續更新,裝完即是新版。
· Unraid App Store(Community Applications)—— 目前上架的是較早的模板版本,暫時沒有跟進更新;用它安裝之後,容器本身仍會透過 iOS app 的「升級」按鈕拉到最新映像,所以不影響使用。
用 Docker 跑起 Bridge 容器
Bridge 需要用 host 網絡模式(它靠本地網絡發現你的 Sonos 音箱),並掛載一個目錄存放設定。在你的機器上執行:
docker run -d \
--name zonefoundry-bridge \
--network host \
--restart unless-stopped \
--cap-drop ALL \
-e ZF_RELAY_URL=wss://relay.zonefoundry.dev/ws \
-e ZF_PAIR_CODE=<iOS app 里的 6 位配对码> \
-v /path/to/zf-bridge:/app/data \
-v /var/run/docker.sock:/var/run/docker.sock \
zonefoundry/bridge:latest
把 /path/to/zf-bridge 換成你機器上真實的目錄。三個要點:① 容器裡的資料路徑是 /app/data(配對憑證存在這裡,重啟後不用再配對);② 容器以非 root 用戶 10001 執行,所以主機目錄要先 chown -R 10001:10001 /path/to/zf-bridge,否則起不來;③ 掛 docker.sock 是為了讓 iOS app 裡的「升級」按鈕能直接拉新映像 —— 不想要一鍵升級的話,把這行刪掉,日後手動 docker pull 即可。
用 Unraid / 群暉 / 飛牛的圖形介面安裝?照同樣幾項設定即可:host 網絡、映射 /app/data、填 ZF_RELAY_URL 和配對碼。Unraid 還要在 Extra Parameters 加 --group-add 281(Unraid 的 docker 群組 GID),一鍵升級才有權限呼叫 docker。
/app/data 卷、relay 位址。(此圖為 Unraid 英文介面,各平台後台語言跟你自己的設定。)在 app 裡連接這台 Bridge
容器跑起來後,打開 ZoneFoundry,前往「設定 → 橋接」。同一網絡下 app 通常會自動發現這台 Bridge;沒有自動出現就手動填入它的本地 IP。連接後,狀態會顯示「已連接」。

確認 Bridge 帶來的那幾項已經生效
先說清楚:播放控制、多房間、音樂搜尋、語音助手、場景、廣播這些,本來就不用 Bridge,裝之前裝之後都一樣。Bridge 真正帶來的是這三件:① 房間進 Apple「家庭」——變成可開關的配件,Siri 和家庭自動化都能驅動;② 到家/離家自動觸發場景;③ Apple Music 的電台與推薦架、Plex 個人資料庫。另外日常操作會更快,因為指令走本地直連而不繞雲。哪天關掉 Bridge,上面這三件會暫停,其餘功能照常。
連不上?先確認三件事:① 容器是用 --network host 跑的(橋接網絡發現不到 Sonos);② Bridge 機器和 Sonos、你的 iPhone 在同一個區域網、同一網段;③ 機器防火牆沒有擋住本地發現。三樣齊全,自動發現基本都能成功。
不想登雲,也有得用
ZoneFoundry 支援區域網絡直連控制,不依賴 Sonos 雲端帳戶;想用雲端功能再登入也不遲。Bridge 是可選增強,並非入場券。