在群暉 DSM 7.3 中部署 Syncthing,建議使用 Container Manager(Docker)運行。這樣升級、遷移和重建都更清楚,也方便把設定目錄和需要同步的共享資料夾分開管理。
Syncthing 需要讀寫群暉上的共享資料夾。部署時最容易出問題的地方不是映像本身,而是運行使用者權限和目錄映射:容器要用正確的 PUID、PGID 啟動,而且網頁端填寫的同步路徑必須是容器內路徑。
準備工作
先透過 SSH 登入群暉,查詢用於運行 Syncthing 的使用者 ID:
|
|
記下回傳結果裡的 uid 和 gid。常見情況是 uid 在 1026 左右,gid 為 100。後面會把它們分別填到 PUID 和 PGID。
然後在 File Station 中進入 docker 共享資料夾,新建目錄:
|
|
這個目錄用於保存 Syncthing 的設定檔、資料庫和運行狀態。後續重建容器時,只要這個目錄還在,設定就能保留下來。
下載 Syncthing 映像
打開群暉的 Container Manager,進入左側「登錄檔」,搜尋:
|
|
選擇官方映像 syncthing/syncthing,標籤使用 latest,下載完成後進入「映像」,選中 syncthing/syncthing 並點擊「運行」。
建立容器
容器名稱可以直接填寫:
|
|
建議勾選「啟用自動重新啟動」,這樣群暉重啟後 Syncthing 會自動恢復運行。
設定環境變數
在進階設定裡的環境變數區域新增或修改:
|
|
其中 PUID 和 PGID 要替換成前面透過 id 使用者名稱 查到的真實值。Syncthing 後續讀寫共享資料夾時,會以這個使用者身分存取群暉檔案系統。
固定連接埠
為了後續存取和排錯方便,建議手動固定連接埠映射:
| 容器連接埠 | 本機連接埠 | 協定 | 用途 |
|---|---|---|---|
8384 |
8384 |
TCP | Web 管理介面 |
22000 |
22000 |
TCP | 資料同步傳輸 |
22000 |
22000 |
UDP | QUIC 資料傳輸 |
21027 |
21027 |
UDP | 區域網路探索 |
如果群暉防火牆已開啟,也要放行這些連接埠。只在區域網路內使用時,至少要確保 8384 能從你的電腦存取。
設定目錄映射
目錄映射分兩類:一類是 Syncthing 自己的設定目錄,另一類是你希望同步的群暉共享資料夾。
設定目錄必須這樣映射:
| 群暉主機路徑 | 容器內掛載路徑 |
|---|---|
/docker/syncthing |
/var/syncthing |
然後繼續新增需要同步的資料目錄。例如你想同步群暉上的 /volume1/NasData,可以這樣映射:
| 群暉主機路徑 | 容器內掛載路徑 |
|---|---|
/volume1/NasData |
/NasData |
這裡要特別注意:之後在 Syncthing 網頁端新增資料夾時,填寫的是容器內路徑,例如:
|
|
不要填寫群暉主機路徑 /volume1/NasData。Syncthing 運行在容器裡,只能看到你映射進去的容器內路徑。
如果要同步多個共享資料夾,可以繼續新增多條映射,例如:
|
|
啟動並存取
確認環境變數、連接埠和目錄映射無誤後,點擊「完成」啟動容器。
然後在瀏覽器打開:
|
|
進入 Syncthing 管理介面後,第一件事是設定 Web 管理介面的使用者名稱和密碼。路徑為:
|
|
不要讓未設定密碼的 Syncthing 管理介面長期暴露在區域網路裡。
新增同步資料夾
點擊「新增資料夾」,在「資料夾路徑」中填寫前面設定的容器內路徑,例如:
|
|
如果權限設定正確,Syncthing 就可以讀寫這個共享資料夾。之後再新增遠端裝置,並選擇要共享的資料夾,就可以開始同步。
小結
群暉 DSM 7.3 上部署 Syncthing 的關鍵點有三個:
- 用 Container Manager 運行
syncthing/syncthing; - 用正確的
PUID和PGID解決共享資料夾讀寫權限; - 在 Syncthing 網頁端使用容器內路徑,而不是群暉主機路徑。
只要這三點設定正確,Syncthing 在群暉上會比較穩定,也方便後續擴展更多同步目錄。