Troubleshooting

When you hit a problem, first check it against the symptoms in this chapter. If none match, contact us via "Getting help" at the end.

1. No video (Live keeps buffering)

Possible causeHow to verifyFix
Wrong RTSP URLTry the same URL in VLCChange the URL and re-save; when ONVIF auto-discovery returns a wrong address, switch to manual RTSP
Wrong credentialsThe web admin reports auth failureGo to camera details and change the password; the ONVIF password ≠ the RTSP password
Low-latency channel blockedDevTools → Network shows a connection errorOpen UDP 23515 in the firewall; if you can't, it auto-switches to the stable channel (2–4s latency)
Camera uses a proprietary protocol (Tapo / Xiaomi)The camera brand isn't in the Cameras listUse a go2rtc bridge
The streaming gateway didn't startdocker logs yunkan for startup errorsUsually a port conflict; try restarting the container

2. Playback is black / the progress bar won't move

  • Recording isn't on: Camera details → Recording settings → enable
  • Disk full: df -h to check the partition holding data, then delete old recordings or shorten the retention days
  • Corrupted recording segment: find the matching data/recordings/<id>/<date>/<HH-MM-SS>.mp4 and try playing it in VLC; a corrupted segment loses at most 5 minutes
  • Wrong time: if the server and camera time zones are out of sync, the playback timeline is off by 8 hours; check with timedatectl

3. AI detection isn't working

SymptomCauseFix
The events page stays emptyThe global detection toggle is offSettings → Detection → enable
One camera doesn't detectThat camera has a "detection failed" statusCamera details → "Clear detection error"
GPU at 0 usageWrong image variant (running the cpu image on a GPU box)Pull the matching variant image and restart
Faces always "Stranger"This person was never added / the threshold is too strictAdd the face / lower the face similarity threshold
Many false fall alertsThe descent-velocity threshold is too lowRaise the fall descent-velocity threshold a bit

4. The container keeps restarting

Use docker logs --tail 200 yunkan to see the last output. Common errors:

  • Missing config: in wizard mode but the health check fails → just finish the /setup wizard in the browser
  • Port in use: ss -tnlp | grep 23406, then stop the conflicting service or change the port
  • Hardware files not mounted: the bind-mount didn't include /etc/machine-id, so license validation crashes; add it per Installation
  • Unsupported architecture: SkyView publishes x86_64 images only and can't run on ARM machines (uname -m should output x86_64)

5. Uploading to 115 fails

  • Login expired (about 30 days): Settings → 115 → re-scan to log in
  • VIP expired: very large files need 115 VIP's instant-upload channel; non-VIP uses a rate-limited channel
  • Target folder deleted: recreate the folder in 115, then return to SkyView and re-select it
  • Unstable network: upload tasks have built-in retries; check docker logs yunkan for the specific error

6. Automation doesn't trigger

  • Quiet hours: Settings → Notifications → Quiet hours, check whether you're currently within that window
  • Cooldown: repeated events within 30 seconds are swallowed; lower the cooldown or use a different event type
  • Condition mismatch: the rule added "recognized person = Zhang San" but it was actually recognized as "Stranger", so the rule won't trigger; relax the condition
  • MQTT not connected: Settings → Integrations → MQTT to check the connection status, and verify the address / credentials

7. The wizard reappears after upgrading / data is gone

Jumping to /setup after an upgrade is almost always because the data directory wasn't mounted correctly — the container can't see the config file written last time, so it assumes a fresh install. Check:

bash
docker inspect yunkan | grep -A 2 Mounts
# You should see Source: /home/.../data, Destination: /app/data
# If the path changed / isn't mounted, docker rm the container and mount it correctly on the next docker run

Never go through the wizard again

Going through setup writes a new empty database; the original is still there but deactivated. Stop the container first, fix the mount, and restart — you'll go straight into normal mode.

8. How to read logs

bash
# Single-image deploy: all logs are mixed together
docker logs --tail 500 -f yunkan

# To see only detection-related:
docker logs yunkan 2>&1 | grep -i detection

# Multi-container deploy: each component is separate
docker compose logs -f api detection

Getting help

  • Support ticket: Customer portal → My Orders → Open a ticket, attach the output of docker logs --tail 200 yunkan, fastest follow-up
  • Email: support@yun-kan.com (reply within 24 hours)
  • WeChat group: after purchase, the "My Orders" page in the customer portal has a group QR code (paid users only)
Troubleshooting - SkyView Docs