YunKan-CUDA

YunKan-CUDA

Docker 应用程序 from 田继业's Repository

概述

YunKan (云瞰) — self-hosted, local-first NVR / VMS for home and small-business IP cameras, with on-device AI: motion, person / vehicle / face / license plate (ALPR / LPR) / pose / fall detection. Your video stays on your LAN — nothing is uploaded to any vendor cloud. A privacy-first Frigate / Shinobi / ZoneMinder / Scrypted / Agent DVR / iSpy / MotionEye alternative — pre-bundled into a single container so there is no Mosquitto / database / reverse-proxy / model-download wiring to do by hand.

This is the CUDA variant — uses an NVIDIA GPU for inference (≥6 GB VRAM recommended; ≥8 GB for many high-resolution cameras). Tested on RTX 3060 / 3070 / 4060 / 4070 / A2000 / A4000 / Tesla P4 / T4 / Quadro P2000. Highest throughput of the three variants — best fit if you already run a GPU in your Unraid box for Plex / Jellyfin transcoding or other AI workloads.

Prerequisites:

  1. Install the "NVIDIA Driver" plugin in Unraid → reboot → nvidia-smi works on the host;
  2. This template already sets --runtime=nvidia and the NVIDIA_* env vars — no extra config needed;
  3. The image is ~3-4 GB, so the first pull will take a while.

No NVIDIA GPU? Install "YunKan" (CPU) or "YunKan-OpenVINO" (Intel iGPU). All three variants share the same ports — only one can run at a time.

Works with any RTSP or ONVIF camera — Reolink, Hikvision, Dahua, Amcrest, Annke, Uniview, EZVIZ, Foscam, Lorex, Anpviz, generic Chinese ONVIF, etc. Tapo, Wyze, Xiaomi, Eufy, Mi Home, Aqara, Imou and other proprietary-protocol cameras work via a go2rtc bridge.

Built in: 24/7 continuous recording + motion-event highlights, scrubbable timeline playback, AI scene understanding that turns each event into a natural-language summary ("an elderly person fell in the living room" — no OpenAI / Gemini / Claude API keys, all inference on your own GPU), bilingual EN ↔ 中文, WebRTC (WHEP) sub-second live streaming with HLS fallback, two-way talkback (push-to-talk on supported ONVIF cameras), Home Assistant integration via MQTT auto-discovery, Web admin + Android + iOS apps, optional off-site backup to 115 网盘 (115 Pan / 115 Cloud).

On first launch, open the WebUI to enter the Setup wizard.

Ports (hardcoded): 23406/tcp HTTP, 23880/tcp RTSP, 24214/tcp HLS, 24215/tcp WebRTC signaling, 23515/udp WebRTC ICE.

Keywords: NVR, VMS, CCTV, surveillance, security camera, RTSP, ONVIF, IP camera, CUDA, NVIDIA, GPU, NVDEC, RTX 3060, RTX 4060, RTX 4070, A2000, Tesla P4, Tesla T4, Quadro, motion detection, person detection, vehicle detection, face recognition, license plate recognition, ALPR, LPR, fall detection, pose detection, two-way audio, talkback, 24/7 recording, continuous recording, timeline playback, WebRTC, HLS, Home Assistant, MQTT, smart home, AI NVR, AI camera, AI scene understanding, natural language event summary, smart event description, on-device AI, edge AI, offline AI, no API key, no cloud, privacy, self-hosted, Frigate alternative, Shinobi alternative, ZoneMinder alternative, Scrypted alternative, Agent DVR alternative, iSpy alternative, MotionEye alternative, BlueIris alternative, Reolink, Hikvision, Dahua, Amcrest, Annke, Uniview, EZVIZ, Foscam, Lorex, Tapo, Wyze, Xiaomi, Eufy, Imou, Aqara, go2rtc, 云瞰, 摄像头, 监控, 显卡推理, AI 监控, 本地 AI, 自然语言.

要求

Install the "NVIDIA Driver" plugin so `nvidia-smi` works on the host, otherwise the container can't find CUDA at startup.

运行时参数

网络用户界面
http://[IP]:[PORT:23406]/
网络
host
外壳
sh
特权
false
额外参数
--runtime=nvidia

模板配置

Time zone (TZ)Variable

Container time zone. Affects log timestamps and quiet-hours cron.

目标
TZ
默认值
Etc/UTC
价值
Etc/UTC
Container name (license anchor)Variable

Must exactly match the 'Name' field above. The license heartbeat uses this to identify the container itself; if you rename the container, change this too.

目标
SKYVIEW_SELF_CONTAINER_NAME
默认值
YunKan-CUDA
价值
YunKan-CUDA
NVIDIA_VISIBLE_DEVICESVariable

Which GPU(s) to use. On multi-GPU hosts set this to a specific 'GPU-xxxx' UUID (`nvidia-smi -L` to list); default is all.

默认值
all
价值
all
NVIDIA_DRIVER_CAPABILITIESVariable

GPU capabilities to enable: compute (CUDA inference) + video (NVDEC hardware decode — note: iGPU + VAAPI actually saves more RAM-copy overhead in practice) + utility (nvidia-smi).

默认值
compute,video,utility
价值
compute,video,utility
Data directory (DB / recordings / models / logs)Pathrw

All YunKan persistent data. Unraid convention is /mnt/user/appdata/app/. **For heavy recording workloads, point this at a cache pool or a dedicated share** to avoid spinning up the array.

目标
/app/data
默认值
/mnt/user/appdata/yunkan/data
价值
/mnt/user/appdata/yunkan/data
machine-id (license hardware fingerprint)Pathro

The license uses the Unraid host's machine-id as part of its hardware fingerprint. **Without this mount the fingerprint drifts on every container recreate; the license then consumes a new activation slot and eventually fails to activate.** Keep read-only.

目标
/etc/machine-id
默认值
/etc/machine-id
价值
/etc/machine-id
product_uuid (license hardware fingerprint)Pathro

Second hardware-fingerprint signal (motherboard DMI UUID). Keep read-only.

目标
/sys/class/dmi/id/product_uuid
默认值
/sys/class/dmi/id/product_uuid
价值
/sys/class/dmi/id/product_uuid
docker socket (self-introspection / OTA self-restart)Pathrw

YunKan uses the docker socket internally for self-identification and OTA self-restart. The default Unraid permissions are fine.

目标
/var/run/docker.sock
默认值
/var/run/docker.sock
价值
/var/run/docker.sock
HTTP / API (nginx)Porttcp

Web dashboard + REST API front door.

目标
23406
默认值
23406
价值
23406
RTSP (mediamtx)Porttcp

Cameras and external players connect directly to mediamtx here.

目标
23880
默认值
23880
价值
23880
HLSPorttcp

HLS streaming port.

目标
24214
默认值
24214
价值
24214
WebRTC signaling (WHEP)Porttcp

WebRTC WHEP signaling.

目标
24215
默认值
24215
价值
24215
WebRTC ICEPortudp

WebRTC ICE UDP port.

目标
23515
默认值
23515
价值
23515

详细信息

存储库
registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cuda:0.9.8
最后更新2026-05-31
初见2026-05-27

在Unraid 上运行 YunKan-CUDA 。

YunKan-CUDA 已被列入Unraid OS 的社区应用程序。探索Unraid ,构建灵活的家庭服务器、NAS 或家庭实验室。