w
wanyard
v0.1.0 · self-hosted
docs github ★ 0
open source · mit licensed · runs on your hardware

Your yard,
on your WAN.

Wanyard records your RTSP cameras, runs YOLO object detection in real time, and serves a clean web viewer over your LAN. Two Docker containers. No cloud. No subscription. No Home Assistant required.

$ git clone github.com/blowhacker/wanyard && cd wanyard && docker compose up -d
  • any rtsp camera
  • cpu or gpu
  • lan-only by default
wanyard.local:8091 /
LIVE · 4 CAMS
Live camera feed
car 94%
car 97%
car 91%
car 88%
03:09:39 2026-05-13 · driveway

Activity

142 TODAY
all 142 car 87 person 41 cat 12 +3
car · 0.97
03:09:39 · 4s
person · 0.88
02:54:12 · 11s
cat · 0.71
02:31:48 · 22s
car · 0.94
02:18:03 · 6s
person · 0.92
01:47:21 · 18s
TIMELINE · 24h NOW · 03:09:39
00
04
08
12
16
20
what it does

An NVR that doesn't phone home, doesn't charge you a subscription, and treats your old IP cameras as a feature, not a chore.

Wanyard is opinionated about the boring parts (recording, retention, browser playback) so the interesting parts (detection, search, export) feel light.

01 RECORDING

Continuous capture, MP4 segments

Every camera is recorded to disk as seamless MP4 segments and served live to browsers as HLS. Scrub the timeline, jump to any moment, export a clip — no transcode dance.

RTSP H.264 / H.265 · stored on local disk
02 DETECTION

YOLO, real-time and on backfill

YOLOv8 tags every segment with per-class detections — person, car, dog, cat, bicycle, package, the full COCO set — and crops a thumbnail for each event so the activity feed is scannable.

ultralytics 8.3 · runs on CPU or CUDA
03 VIEWER

One web UI, all your cameras

A single-page viewer with a 24h timeline filmstrip, per-class event filtering, and clip download. Designed for a laptop on the couch, not a kiosk in a server room.

no app · no port-forward · no auth gymnastics
04 STORAGE

Disk auto-cleanup

Keep N days of footage, or cap usage at X gigabytes. Wanyard prunes the oldest segments first and never lets the recorder fill the drive.

configurable per-camera · safe defaults
05 INSTALL

Two containers, one compose file

The recorder + web server is one container; the YOLO worker is another. GPU is optional — drop in docker-compose.gpu.yml when you want acceleration.

starlette · ultralytics · ffmpeg
06 DEPLOY

Run it where you want.

Wanyard is just two Docker containers — drop them on a Synology, Raspberry Pi, or homelab box on your LAN, or on a Hetzner / Fly.io / DO droplet and reach it over WireGuard or Tailscale. Self-hosted means your server, not necessarily one in your house.

homelab · hetzner · fly.io · oracle free tier
any rtsp camera

If it speaks RTSP, it works.

No camera lock-in. No "verified device list." If you can paste a URL that starts with rtsp://, wanyard records it.

Reolink· Hikvision· Amcrest· Dahua· Tapo· Ubiquiti· Foscam· Annke· Lorex· Axis· Wyze* …or that 2014 IP cam in the garage
* wyze requires rtsp firmware · onvif discovery on the roadmap
under the hood

Two processes. One disk. Boring on purpose.

  +----------+    rtsp     +----------+     mp4     +----------+
  |  camera  | ----------> | recorder | ----------> |   disk   |
  +----------+             +----+-----+             +----+-----+
                                | hls                    | backfill
                                v                        v
                           +----+-----+             +----+-----+
                  you ---> |  viewer  | <--events-- |   yolo   |
                           +----------+             +----------+

Decoupled by design.

The capture server only ever cares about turning RTSP into MP4. The YOLO worker only ever cares about tagging segments with detections. If one is offline, the other keeps doing its job.

  • Recorder never blocks on inference
  • YOLO runs real-time on HLS, backfills MP4
  • Viewer reads from disk; no central broker
vs. the alternatives

Where wanyard fits — and where it doesn't.

An honest comparison. The other projects in this space are good. Pick the one that matches what you actually want to run.

 
wanyard
Frigate
Ring / Nest
Self-hosted
cloud-only
Monthly fee
$0
$0
$5–15 / mo
Object detection
YOLO, real-time + backfill
YOLO / Coral TPU
basic, paywalled
Works with any RTSP cam
proprietary only
Setup
1 docker compose
config.yml + HA
app sign-up
Home Assistant required
no
commonly paired
Your footage stored…
on your disk
on your disk
in someone else's datacenter
Source available
MIT
MIT
Why not just use Frigate? You should, if you live inside Home Assistant and want the Coral TPU pipeline. Wanyard is for people who want a smaller surface area: one Docker compose, a web viewer at :8091, and nothing else to configure.
install

One docker compose up and you're recording.

Wanyard needs Docker and a directory to write footage to. That's it. The YOLO model downloads automatically on first run.

QUICKSTART · CPU
# clone, build, run
git clone https://github.com/blowhacker/wanyard.git
cd wanyard
docker compose up --build -d

# add your first camera
open http://localhost:8091/settings
QUICKSTART · GPU (CUDA)
# enable the gpu override
cp docker-compose.gpu.yml \
   docker-compose.override.yml

docker compose up --build -d

# yolo worker now runs on cuda
docker compose logs wanyard-yolo

Hardware that's known to work

MINIMUM
A 4-core x86 box with 8 GB RAM and a 1 TB drive. Handles 1–2 cams at 1080p on CPU comfortably.
RECOMMENDED
Anything with an NVIDIA GPU (even a 1060). 4–8 cams real-time with backfill keeping pace.
OVERKILL
You already have a NAS and a homelab. Wanyard is happy to live in a corner of it.

What you'll see

:8091
The viewer. Live streams, 24h timeline, event feed, clip export.
:8091/settings
Add cameras (paste an rtsp:// URL), check system status, configure cleanup.
./data & ./footage
Your database and your MP4 segments. Back them up like any other folder.
faq

Things people ask.

Does this work without a GPU?
Yes. The YOLO worker runs on CPU and handles 1–2 cameras at 1080p in real time. For 4+ cameras you'll want a GPU — even an old 1060 makes a substantial difference, especially for backfill catching up after a downtime.
Do I need Home Assistant?
No. Wanyard is a standalone web server. Home Assistant is great, but you shouldn't have to install a whole smart-home platform to look at your driveway.
What cameras work?
Anything that exposes an RTSP stream in H.264 or H.265. That includes most Reolink, Hikvision, Amcrest, Dahua, Tapo (with RTSP firmware), Ubiquiti, Axis, Foscam, and Annke cameras, plus generic ONVIF IP cams from before 2014. If it streams to VLC, it streams to wanyard.
Is my footage private?
By default, yes — wanyard runs LAN-only. There are no telemetry calls. The only outbound request is the YOLO model download on first run, from the Ultralytics CDN. If you want remote access, put it behind a Tailscale or Wireguard tunnel; don't port-forward it.
Will there ever be a hosted version?
Maybe, someday. Wanyard hosted would be for people who want all of this without owning a server. It is not the priority right now — the open-source thing is what wanyard is. If you'd find a managed version useful, drop a note on the GitHub.
What does "wanyard" mean?
Your yard is now on your WAN. Mostly a play on words; partly a reminder that the camera looking at your yard probably shouldn't be relaying through a server in Oregon.
License?
MIT. Use it, fork it, run it for a customer. The model weights are subject to Ultralytics' license — read theirs if that matters to you.

It's just a docker compose up.

Stop renting your own footage.

$ git clone github.com/blowhacker/wanyard && cd wanyard && docker compose up -d