安装部署
云瞰 以单 Docker 镜像形式交付,一条命令即可起服务。本章覆盖系统要求、变体选择、安装命令、端口/卷映射、升级与卸载。
系统要求
| 项目 | 最低 | 推荐 |
|---|---|---|
| 操作系统 | Linux 内核 ≥ 5.x(Ubuntu 22.04+ / Debian 12+) | Ubuntu 24.04 LTS |
| CPU | 4 核 x86_64 | 8 核及以上 |
| 内存 | 4 GB | 8–16 GB(多路 + AI 检测) |
| 磁盘 | 64 GB(仅录像) | 1 TB+ HDD(按保留天数估算) |
| Docker | 20.10+ | 最新稳定版 |
| GPU(可选) | 无 | Intel 11 代+ 集显 / NVIDIA 30 系+ |
仅支持 x86_64 架构
uname -m,输出必须是 x86_64 才能装。镜像变体怎么选
AI 检测的硬件加速分 4 个变体,对应不同硬件。装错变体只会让检测变慢或不工作,其它功能(录像、回放、对讲)不受影响。一键部署脚本会自动探测硬件帮你选对——下面这张表只是给想手动选的人参考。
| 镜像 tag | 适用硬件 | 说明 |
|---|---|---|
cpu | 纯 CPU | 通用兜底,性能一般,2–4 路 5fps 可接受 |
openvino | Intel CPU / 集显 / NPU | 11 代酷睿及以上,性价比首选 |
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 + Docker 已装
- 检查
23406 / 23880 / 24214 / 24215 / 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 等平台都有自己的容器管理 UI、网络模式、iGPU 透传方式和已知坑。下面针对常见目标平台给单独教程,包含每个平台特定的 compose 文件、UI 部署路径、防火墙配置和常见问题:
- 群晖 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
没你的平台?
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 接口 | 必须(也可放在反代后做 HTTPS) |
| 23880 / TCP | RTSP 直连出(VLC / 第三方 NVR 用) | 可选 |
| 24214 / TCP | 回放 + 兜底实时画面 | 建议开 |
| 24215 / TCP | 实时画面(低延迟通道信令) | 建议开 |
| 23515 / UDP | 实时画面(低延迟通道音视频) | 建议开,不开会自动降级到 24214(延迟变 2–4s) |
| 容器路径 | 用途 | 建议 |
|---|---|---|
/app/data | 数据库 / 配置 / cookies / 日志等小状态 | 必挂,生命周期跨容器 |
/app/data/recordings | 录像(可达 TB 级,嵌套挂在 /app/data 之上) | 必挂,可单独指到大盘 / NAS;模型已内置在镜像里,无需挂载 |
/etc/machine-id | 硬件指纹 1/2 | 必挂只读 |
/sys/class/dmi/id/product_uuid | 硬件指纹 2/2 | 必挂只读 |
升级
最方便:网页后台一键升级。 浏览器进 网页后台 → 设置 → 系统 → 检查更新,发现新版本点 "升级" 即可——内置 OTA sidecar (yunkan-updater) 会接管 docker compose pull + up -d --force-recreate,几分钟后页面自动重连到新版本。
想自己在 SSH 里手动升级也行:
cd ~/skyview
docker compose -f compose.all-in-one.yml pull
docker compose -f compose.all-in-one.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.all-in-one.yml down
docker rmi registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest
# 录像 / 数据库继续保留,需要彻底清理:
rm -rf ~/skyviewdata 目录删了无法恢复