All apps · 0 apps
YunKan
Docker app from 田继业's Repository
Overview
YunKan (云瞰) — self-hosted, local-first NVR / VMS for home and small-business IP cameras, with on-device AI: motion, person / vehicle / face recognition / license plate (ALPR / LPR) / pose & fall / package / baby-cry 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 CPU variant — runs on any amd64 Unraid host with no special hardware. Best for 1-4 cameras at moderate FPS. Have an Intel iGPU (J4125 / N100 / N305 / N5105 / 12-14th gen Core)? Install "YunKan-OpenVINO" instead for 3-5x faster inference. Have an NVIDIA GPU? Install "YunKan-CUDA" (or "YunKan-TRT" for the highest throughput). All four 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. GB/T 28181 cameras & NVRs (Hikvision / Dahua / Uniview, etc.) register directly into YunKan — import individual channels, including many NVR channels in one batch.
Built in: 24/7 continuous recording + motion-event highlights, NVR-style multi-camera synced timeline playback, a Birdseye all-cameras overview, PTZ control with presets, virtual tripwires (line-crossing) for accurate entry/exit direction, customizable video-wall layouts, a built-in file manager for recordings & snapshots, a people library for face recognition, 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-box), bilingual EN ↔ 中文, WebRTC (WHEP) sub-second live streaming with HLS fallback, two-way talkback (push-to-talk on supported ONVIF cameras), Apple Home (HomeKit) incl. HomeKit Secure Video — record motion clips to iCloud (Pro), Home Assistant integration via MQTT auto-discovery (every camera becomes an HA device with motion / person / vehicle / package / fall / baby-cry binary_sensors), 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 (pick SQLite for the simplest path), create an admin, and add cameras.
Ports (hardcoded inside the image — don't edit them on this page; if you need to change ports use the docker compose path):
- 23406/tcp — HTTP dashboard / API (nginx front door)
- 23880/tcp — RTSP (cameras / external players)
- 24214/tcp — HLS + WebRTC (WHEP) signaling
- 23515/udp+tcp — WebRTC ICE media
Keywords: NVR, VMS, CCTV, surveillance, security camera, video doorbell, RTSP, ONVIF, IP camera, 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, HomeKit, Apple Home, HomeKit Secure Video, HKSV, Siri, GB28181, GB/T 28181, birdseye, virtual tripwire, line crossing, entry exit detection, video wall, PTZ, pan tilt zoom, package detection, parcel detection, baby cry detection, people library, NVR playback, multi-channel playback, go2rtc, 云瞰, 摄像头, 监控, AI 监控, 本地 AI, 自然语言.
Install YunKan on Unraid in a few clicks.
Find YunKan in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
martin888/yunkan-cpu:latestRuntime arguments
- Web UI
http://[IP]:[PORT:23406]/- Network
host- Shell
sh- Privileged
- false
Template configuration
Container time zone. Affects log timestamps and quiet-hours cron.
- Target
- TZ
- Default
- Etc/UTC
- Value
- Etc/UTC
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.
- Target
- SKYVIEW_SELF_CONTAINER_NAME
- Default
- YunKan
- Value
- YunKan
Small state: database, config, cookies, logs, upgrade state. Unraid convention is /mnt/user/appdata/app/ (cache pool / SSD recommended). Recordings have their own path entry below — don't size this share for video.
- Target
- /app/data
- Default
- /mnt/user/appdata/yunkan/data
- Value
- /mnt/user/appdata/yunkan/data
Camera recordings — can grow to TBs. Mounted on top of the data directory (container path /app/data/recordings), so snapshots / exports / face thumbnails follow it automatically. **To put recordings on a big array share or a dedicated pool, change the host path of THIS entry — do not add your own path mapping with a different container path, it will be silently ignored.** If YunKan already ran on this host and you point this at a new location, FIRST move the contents of .../yunkan/data/recordings/ there — otherwise the old recordings become invisible to the app (playback and auto-cleanup can't see them) while still occupying the data share.
- Target
- /app/data/recordings
- Default
- /mnt/user/appdata/yunkan/data/recordings
- Value
- /mnt/user/appdata/yunkan/data/recordings
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.
- Target
- /etc/machine-id
- Default
- /etc/machine-id
- Value
- /etc/machine-id
Second hardware-fingerprint signal (motherboard DMI UUID). Keep read-only.
- Target
- /sys/class/dmi/id/product_uuid
- Default
- /sys/class/dmi/id/product_uuid
- Value
- /sys/class/dmi/id/product_uuid
YunKan uses the docker socket internally for self-identification and OTA self-restart. The default Unraid permissions are fine.
- Target
- /var/run/docker.sock
- Default
- /var/run/docker.sock
- Value
- /var/run/docker.sock
Web dashboard + REST API front door.
- Target
- 23406
- Default
- 23406
- Value
- 23406
Cameras and external players connect directly here.
- Target
- 23880
- Default
- 23880
- Value
- 23880
HLS streaming, WebRTC WHEP signaling, and the media-server API / hooks all share this one port.
- Target
- 24214
- Default
- 24214
- Value
- 24214
WebRTC ICE media (UDP + TCP).
- Target
- 23515
- Default
- 23515
- Value
- 23515