安裝部署
雲瞰 以單一 Docker 映像檔形式交付,一條指令即可啟動服務。本章涵蓋系統需求、變體選擇、安裝指令、連接埠/磁碟區對應、升級與解除安裝。
系統需求
| 項目 | 最低 | 建議 |
|---|---|---|
| 作業系統 | Linux 核心 ≥ 5.x(Ubuntu 22.04+ / Debian 12+) | Ubuntu 24.04 LTS |
| CPU | 4 核 x86_64(或 RK3588 ARM64) | 8 核及以上 |
| 記憶體 | 4 GB | 8–16 GB(多路 + AI 偵測) |
| 硬碟 | 64 GB(僅錄影) | 1 TB+ HDD(依保留天數估算) |
| Docker | 20.10+ | 最新穩定版 |
| GPU(選用) | 無 | Intel 11 代+ 內顯 / NVIDIA 30 系+ |
架構支援:x86_64 與 RK3588
映像檔變體怎麼選
AI 偵測的硬體加速分成 4 個變體,對應不同硬體。裝錯變體只會讓偵測變慢或無法運作,其它功能(錄影、回放、對講)不受影響。一鍵部署腳本會自動偵測硬體幫你選對——下面這張表只是給想手動選擇的人參考。
| 映像檔 tag | 適用硬體 | 說明 |
|---|---|---|
cpu | 純 CPU | 通用兜底,效能普通,2–4 路 5fps 可接受 |
openvino | Intel CPU / 內顯 / NPU | 第 11 代 Core 及以上,性價比首選 |
cuda | NVIDIA 顯示卡 | 需要裝 nvidia-container-toolkit,GTX 16 系起步 |
trt | NVIDIA 顯示卡 + ≥ 8GB 顯示記憶體(最快) | 速度比 cuda 還快,但顯示記憶體 < 8GB 啟動會失敗;首次啟動會做一次 ~3 分鐘模型最佳化 |
按硬體選檔(詳細參考)
買新機或評估現有機器時,按 CPU 算力分 5 檔對照下表。給出推薦映像檔、能穩定帶的攝影機數、以及能流暢跑哪些 AI 偵測功能(啟用與否需自己在網頁後台手動開)。
| 檔位 | 硬體舉例 | 攝影機數 | 推薦映像檔 | 一句話定位 |
|---|---|---|---|---|
| 入門 | Celeron J4125 / J4105 / J4025(老 Atom) | 1 路 | cpu | 老舊礦渣機的撿便宜方案,堪用就好 |
| 家用起步 | N100 / N97 / N95(Alder Lake-N 4 核) | 1–2 路 | openvino | 主流家用,性價比起步檔 |
| 家有長輩 | N150 / N250 / N305 | 1–3 路 | openvino | 能開跌倒偵測的最低門檻 |
| 多機位 | i5 / i7 11–13 代 + Iris Xe 內顯(80EU+) | 2–4 路 | openvino | 多攝影機 + 全屋偵測的合理上限 |
| 全功能 / 商用 | NVIDIA GTX 1060 / RTX 2060 及以上獨立顯示卡 | 4+ 路 | cuda(顯示記憶體 ≥ 8GB 可上 trt 提速 ~2×) | 能開手勢、嬰兒哭聲等所有功能 |
各檔位能流暢跑的偵測功能
檔位越高,能穩定開啟的功能越多。低檔位機器開太多功能,會讓推理跟不上攝影機的影格速率,導致漏掉偵測事件。下表是每個檔位建議開啟的偵測能力——✅ 表示建議開啟、❌ 表示不建議在該硬體上開啟。新安裝預設只開啟物件偵測,其餘都需要在 網頁後台 → 設定 → 偵測 裡依需求手動啟用。
| 偵測功能 | 入門 J4125 | 家用 N100 | 長輩 N150 | 多機 Iris Xe | 全功能 NVIDIA |
|---|---|---|---|---|---|
| 移動偵測 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 人臉辨識 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 物件偵測(人 / 車輛 / 動物等) | ❌ | ✅ | ✅ | ✅ | ✅ |
| 跌倒偵測 | ❌ | ❌ | ✅ | ✅ | ✅ |
| 車牌辨識 | ❌ | ❌ | ❌ | ✅ | ✅ |
| 手勢辨識 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 嬰兒哭聲辨識 | ❌ | ❌ | ❌ | ❌ | ✅ |
建議至少設定子串流
多攝影機時,關掉非重點機位的偵測
一鍵部署(推薦)
執行一行指令,腳本會自動偵測硬體、選最合適的映像檔變體、拉取映像檔、啟動容器,全程 5–15 分鐘(視網路狀況而定)。
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash想先看腳本做什麼再執行
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh -o install.sh 下載下來、cat install.sh 看一遍,再執行 bash install.sh。或者加上 --detect-only,讓腳本只偵測硬體、推薦變體,不實際部署。腳本做了什麼:
- 檢查系統是 Linux x86_64(或 RK3588 板),且已安裝 Docker
- 檢查
23406 / 23880 / 24214 / 23515等連接埠空閒 - 偵測硬體:NVIDIA 顯示卡(含顯示記憶體)/ Intel 內顯 / Intel NPU
- 自動在 cpu / openvino / cuda / trt 中選出最合適的映像檔變體
- 拉取映像檔(預設從阿里雲)+ 寫入 docker-compose 檔案 + 自動產生高強度隨機金鑰
- 啟動容器並等待健康檢查通過(約 60 秒)
- 輸出瀏覽器存取位址(如
http://192.168.1.10:23406/)
腳本不會動你的系統
常用參數
| 參數 | 用途 |
|---|---|
--variant cpu/openvino/cuda/trt | 強制指定映像檔變體,不讓腳本自動選擇 |
--detect-only | 只偵測硬體 + 推薦變體,不實際部署 |
--offline image.tar.gz | 離線包部署(無外網環境) |
--data-dir /path | 自訂狀態目錄(資料庫 / cookies / 日誌,預設 ~/skyview/data) |
--recordings-dir /path | 把錄影單獨指到大硬碟 / NAS(預設 ~/skyview/recordings,與 data 同層級;錄影可達 TB 等級) |
--registry <url> | 換成私有映像檔儲存庫 |
--version 0.6.0 | 拉取指定版本(預設 latest) |
-y 或 --yes | 非互動模式 |
# 只看推薦什麼變體,不部署
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash -s -- --detect-only
# 強制用 trt 變體並跳過互動
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash -s -- --variant trt -y
# 離線部署(先把映像檔 tar.gz scp 到機器上)
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh -o install.sh
bash install.sh --offline /path/to/skyview-image.tar.gz需要公網網域存取
http://<伺服器 IP>:23406 存取即可。按平台部署(選擇你的裝置)
一鍵腳本對通用 Linux + Docker 環境最方便,但 NAS、HA OS、PVE 等平台都有自己的容器管理介面、網路模式、iGPU 透傳方式和已知的坑。下面針對常見目標平台提供各自的教學,包含每個平台專屬的 compose 檔案、介面部署路徑、防火牆設定和常見問題:
- 群暉 Synology DSM 7.2+ — Container Manager + Intel 內顯機型(DS920+ / DS423+ / DS224+ 等)
- Unraid 6.12+ — Compose Manager + Intel GPU TOP / NVIDIA Driver plugin
- 飛牛 fnOS — Debian 12 base + N100/N305 內建 iGPU
- 綠聯 UGOS Pro — x86 機型(DXP2800/DXP4800/DXP6800 等)
- TrueNAS Scale 24.10+ — Custom App YAML + ZFS dataset 持久化
- Ubuntu / Debian — apt + docker compose v2,最乾淨的部署路徑
- Fedora 39+ — dnf docker-ce + SELinux 磁碟區標籤 + firewalld 放行
- Proxmox VE LXC — privileged LXC + Intel iGPU 透傳(家用 N100 / N305 PVE 使用者首選)
- Home Assistant OS 附加元件 — 加入雲瞰儲存庫一鍵安裝 yunkan / yunkan-openvino addon
- RK3588 板 — 瑞芯微 NPU 加速的低功耗 ARM 小盒子(Orange Pi 5 / Radxa Rock 5 等);推薦 4GB 板,8G+ 實驗性
沒有你的平台?
apt install 換成對應的套件管理器)。SELinux 系列(CentOS / Rocky / Alma)參考 Fedora 教學的 :Z 磁碟區標籤處理即可。手動部署(進階)
想自己一步步掌控部署過程的,按下面 4 個步驟走。一鍵腳本本質上就是把這些指令自動化了。
- 1
拉取映像檔
選好上面四個變體之一:
bashdocker pull registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest - 2
建立資料 / 錄影目錄
小型狀態(資料庫 / cookies / 日誌)放在
data/;錄影(可達 TB 等級)單獨放在同層級的recordings/,方便單獨指到大硬碟 / NAS。bashmkdir -p ~/skyview/data ~/skyview/recordings && cd ~/skyview - 3
啟動容器
用 host 網路讓攝影機直接透過宿主機連接埠,避免 NAT 影響影像品質。授權綁定要求 bind-mount
/etc/machine-id和product_uuid,不要省略。bashdocker run -d --name yunkan --restart=always \ --network host \ -v $(pwd)/data:/app/data \ -v $(pwd)/recordings:/app/data/recordings \ -v /etc/machine-id:/etc/machine-id:ro \ -v /sys/class/dmi/id/product_uuid:/sys/class/dmi/id/product_uuid:ro \ registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest - 4
硬體資訊必須 bind-mount
連接埠與磁碟區對應
雲瞰 用 host 網路模式運作,所有連接埠都直接綁在宿主機上。正式環境的連接埠都加了一個非常規偏移,落在 2xxxx 區間,避免和你機器上已有的 nginx 80/443、redis 6379、其它服務的 8080/8554/8888 衝突。
| 連接埠 | 用途 | 必須開嗎 |
|---|---|---|
| 23406 / TCP | 網頁管理後台 + App 介面 + 直播 | 必須 |
| 23515 / UDP + TCP | 即時畫面低延遲通道 | 建議開,不開會降級為 HLS(延遲約 2.5 秒) |
| 23880 / TCP | RTSP 直連輸出(VLC / 第三方 NVR 用) | 可選 |
| 23443 / TCP | 公網直連(HTTPS),預設關閉 | 只在需要外網存取時開 |
| 24214 / TCP | 內部串流服務 | 不用開 |
| 容器路徑 | 用途 | 建議 |
|---|---|---|
/app/data | 資料庫 / 設定 / cookies / 日誌等小型狀態 | 必掛,生命週期跨容器 |
/app/data/recordings | 錄影(可達 TB 等級,巢狀掛在 /app/data 之上) | 必掛,可單獨指到大硬碟 / NAS;模型已內建在映像檔裡,不需要掛載 |
/etc/machine-id | 硬體指紋 1/2 | 必掛唯讀 |
/sys/class/dmi/id/product_uuid | 硬體指紋 2/2 | 必掛唯讀 |
環境變數參考
以下環境變數全部可選——host 網路的標準部署一個都不用設,只有橋接網路、反向代理、固定內部金鑰等進階場景才用得到。在 compose 檔案的 environment: 段(或各 NAS 平台的環境變數表單)裡設定。
| 環境變數 | 預設 | 用途 |
|---|---|---|
SKYVIEW_WEBRTC_EXTERN_IPS | 自動偵測區域網路 IP | 即時畫面(WebRTC)對外通告的 IP / 網域,逗號分隔。橋接網路或多層 NAT 下客戶端連不上即時畫面時設定 |
SKYVIEW_PUBLIC_PORT | 23406 | 客戶端實際存取網頁後台的連接埠。只在橋接網路把 23406 映射為其它宿主連接埠時設定,否則分享連結和區域網路探索會帶錯連接埠 |
SKYVIEW_PUBLIC_TCP_PORT | 關閉 | 公網直連的 HTTPS 連接埠。通常在網頁後台裡設定即可;用環境變數設定後以它為準,網頁後台對應項鎖定 |
SKYVIEW_PUBLIC_TLS_CERT / SKYVIEW_PUBLIC_TLS_KEY | 自動申請 | 公網直連改用自備憑證:容器內憑證鏈 / 私鑰 PEM 的路徑,必須成對設定 |
SKYVIEW_MEDIA_SECRET | 首次啟動自動產生 | 內部串流媒體介面金鑰(32 位元組十六進位)。僅進階整合需要固定金鑰時設定 |
SKYVIEW_MDNS_ENABLED | 1 | 設為 0 關閉區域網路探索通告(yun-kan.local)。宿主系統已自帶 mDNS 服務時使用 |
SKYVIEW_DB_TYPE 等(_SOCKET 或 _HOST / _PORT,加 _USER / _PASSWORD / _NAME) | 未設 | 由部署範本固定資料庫(編排自帶資料庫容器時用)。設定後資料庫組態以環境變數為準:精靈跳過資料庫步驟,設定頁的線上遷移停用 |
升級
最方便:網頁後台一鍵升級。 瀏覽器進 網頁後台 → 設定 → 系統 → 檢查更新,發現新版本點 "升級" 即可——系統會自動拉取新映像檔並重建容器(升級前自動備份資料庫,新版本啟動異常會自動回滾到升級前版本),幾分鐘後頁面自動重連到新版本。
想自己在 SSH 裡手動升級也行:
cd ~/skyview
docker compose -f compose.yml pull
docker compose -f compose.yml up -d或者重跑一鍵腳本(帶 -y 不打擾):
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash -s -- -y資料自動遷移
tar -czf data-backup-$(date +%F).tar.gz data/ 備份一下。解除安裝
cd ~/skyview
docker compose -f compose.yml down
docker rmi registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest
# 錄影 / 資料庫仍會保留,需要徹底清理:
rm -rf ~/skyviewdata 目錄刪除後無法恢復
這篇文件有幫助嗎?