DEEN
› Self-Hosted AI Video Surveillance

Your cameras. Your AI. Your data.

Self-hosted—Buy once, use forever—Made in Germany—GDPR-compliant

Everything in view, no matter where you are.

RTSP RTMP ONVIF HTTP HTTPS Hikvision Dahua Reolink Axis UniFi Docker Synology NAS Windows · macOS · Linux Home Assistant RTSP RTMP ONVIF HTTP HTTPS Hikvision Dahua Reolink Axis UniFi Docker Synology NAS Windows · macOS · Linux Home Assistant

Video surveillance today: expensive, complicated — or both.

☁️

The subscription treadmill

Cloud cameras cost €5–15 per camera and month — forever. With 20 cameras that's over €2,000 per year. And the footage sits on third-party servers, often outside the EU.

🛠️

The DIY trap

Tools like Frigate are powerful — but every camera is manually added to config files, notifications need Home Assistant, and there is no support.

🔔

The false-alarm flood

Motion detection reports every branch in the wind and every cat. After the tenth pointless alert, you turn off alarms — and miss exactly the one moment that mattered.

One software. Your hardware. Done.

The AI you choose.

The AI you choose.

Freely selectable model size — lean on the mini-PC, maximally accurate on the server. Fewer false alarms — the AI filters WHAT moves, not just THAT something moves. No special hardware — no accelerator chip required.

Detects: person, car, truck, bicycle, motorcycle, dog, cat and more.

Cameras discover themselves.

Cameras discover themselves.

Network scan finds cameras automatically (RTSP, RTMP, ONVIF). All common manufacturers in one dashboard. Connect with one click — no config file, no scripts. Unlimited cameras — no per-camera license.

Example scan: 10.0.10.0/24,10.0.20.0/24,10.0.30.0/24 → 6 devices found.

Alert where you are.

Only when the AI detects something relevant does the notification go out — on the channel your team already uses: Email, MS Teams, Telegram, WhatsApp, Signal, Discord, Webhook, Home Assistant.

Your recordings never leave the house.

100% local — hard drive or NAS, freely selectable path. Freely adjustable retention — e.g. the 72-hour deletion period of the supervisory authorities. No third-country transfer — works completely without internet.

In 2021, attackers at cloud provider Verkada saw live feeds of 97 customers — including clinics and factories. Stored locally, this wouldn't have happened.
Ready to go in minutes.

Ready to go in minutes.

Runs anywhere Docker runs — Windows, macOS, Linux, NAS. A small PC or your NAS is enough — 24/7, low-power. Remote access via your own domain possible.

$ Unzip → start script → open browser → running.

LocalEye or Frigate?

Frigate is a strong open-source project — for those who enjoy configuring. LocalEye is for those who want a finished product. The honest comparison:

LocalEyeFrigate / Frigate+
Camera integrationAutomatically found via network scanManually per camera via YAML
OperationCompletely via web interfaceConfig files + UI
AI modelFreely selectable, downloads automaticallyPreset; tuning only via subscription ($50/year)
Notifications8+ channels built inVia Home Assistant / MQTT / third-party tools
Additional hardwareNot requiredHW acceleration practically mandatory
SupportDirect manufacturer supportCommunity, no SLA
CostFrom €27.90 one-timeFree + hardware + setup time

As of July 2026, Frigate v0.17. Frigate is a project/trademark of its respective rights holders.

Built for businesses. Loved by technicians.

Businesses & system houses

Businesses & system houses

Many cameras, multiple sites, clear data protection requirements. LocalEye runs on existing hardware, IT keeps control — and system houses deliver with the white-label edition under their own name.

Self-employed & tech enthusiasts

Self-employed & tech enthusiasts

Workshop, farm, home: a small PC or the NAS is enough. One-time €27.90 instead of monthly cloud fees — and your own recordings stay in your own house.

Frequently asked questions

Which cameras work with LocalEye?

All cameras that speak RTSP, RTMP or ONVIF — practically all common IP cameras (Hikvision, Dahua, Reolink, Axis, UniFi and many more). Only pure cloud cameras that communicate exclusively with the manufacturer's cloud cannot be integrated — however, this applies to any local solution.

Do I need special hardware, e.g. a Coral accelerator?

No. LocalEye runs on normal PC, server or NAS hardware. You simply choose an AI model that fits your hardware — from a frugal mini-PC to a server with a large model.

Where are my recordings stored?

Exclusively with you: on the hard drive of your system or a path of your choice (e.g. NAS). There is no cloud upload. LocalEye also works completely without internet.

What is included in the purchase price — and what costs extra?

The one-time purchase includes the full software with all features and unlimited cameras — permanently. Optionally, there is LocalEye Updates for automatic updates and new features. Without a subscription, your version simply continues to run unchanged.

How many cameras can I connect?

Unlimited. There are no Pro camera licenses. The practical limit is set only by your hardware.

Do I get notifications on my phone?

Yes — via the channel you already use: Telegram, WhatsApp, Signal, Microsoft Teams, Discord, email or via webhook into systems like Home Assistant.

Can LocalEye recognize license plates?

License plate recognition is in progress and will appear as one of the next features.

Is this GDPR-compliant?

LocalEye provides the technical basis for this: local processing without transfer to third countries, access only for you — and freely configurable retention periods, with which you can directly implement, for example, the 72-hour deletion period recommended by the supervisory authorities. The legally compliant design remains the responsibility of the operator, as with any system.

Setup Guide

Installation on any system — adjust ZIP name, port and IP examples below per product.

  1. Install Container Manager

DSM → Package Center → search for Container Manager and install.

  1. Enable SSH

DSM → Control Panel → Terminal & SNMP → enable SSH.

ssh admin@SYNOLOGY-IP
  1. Upload & extract ZIP
scp produktname_release.zip admin@SYNOLOGY-IP:/volume1/docker/
ssh admin@SYNOLOGY-IP
cd /volume1/docker
unzip produktname_release.zip -d produktname
cd produktname
cp .env.example .env
  1. Start
./manage.sh update

WebUI: http://SYNOLOGY-IP:PORT — Login: admin / admin

💡 Synology DSM 7.2+ with Container Manager 20.10+ recommended. Path /volume1/docker/ adjust if necessary.
Installation

LocalEye — Setup Guide

Prerequisites

  • Docker & Docker Compose installed
  • At least 2GB RAM, 4GB recommended
  • Any Linux system: NAS (Synology, UGREEN), Raspberry Pi, server, VM

---

1. Extract ZIP

No unzip needed – extract the ZIP with Python 3 (available on every NAS):

python3 -c "import zipfile; zipfile.ZipFile('localeye_release.zip').extractall('localeye')"
cd localeye

---

2. Adjust configuration (optional)

Open docker-compose.yml and adjust the following values: | Variable | Default | Description | |---|---|---| | SECRET_KEY | CHANGE_ME_... | Please change! Any random string | | PROTECT_HOST | empty | IP of your UniFi controller (optional) | | PROTECT_API_KEY | empty | UniFi Protect API Key (optional) | | MQTT_HOST | localhost | IP of your MQTT broker | | TZ | Europe/Berlin | Your time zone | For a simple installation it is sufficient to change SECRET_KEY. Example:

# Generate random secret key:
openssl rand -hex 32

---

3. Start

docker compose up -d --build && docker compose logs -f localeye

On first start this takes 2–5 minutes (image download + build). After the build the Web UI address appears automatically in the terminal:

  ✓ Server started successfully

  Web UI reachable at:
    ➜  Local:    http://localhost:8987
    ➜  Network: http://YOUR-IP:8987

With Ctrl+C you can close the log view — LocalEye keeps running in the background. Check status:

docker compose ps

---

4. Open WebUI

http://YOUR-IP:8987

Default login:

  • Username: admin
  • Password: admin

⚠️ Please change the password immediately after first login! Settings → Users → Change password ---

5. First steps

Add camera

  1. Cameras+ Add camera
  2. Assign name
  3. Enter stream URL (RTSP or go2rtc)
  4. Save → camera appears in live view

Supported camera manufacturers & protocols

Direct via RTSP/RTSPS/ONVIF (without go2rtc): | Manufacturer | Protocol | |---|---| | Hikvision | RTSP, ISAPI | | Dahua | RTSP, ONVIF | | Reolink | RTSP, ONVIF | | TP-Link Tapo | RTSP, native via go2rtc | | Axis | RTSP, ONVIF | | Amcrest | RTSP, ONVIF | | Bosch | RTSP, ONVIF | | Hanwha / Samsung | RTSP, ONVIF | | Uniview (UNV) | RTSP, ONVIF | | Vivotek | RTSP, ONVIF | | Mobotix | RTSP, ONVIF | | Pelco | RTSP, ONVIF | | All ONVIF-compatible cameras | ONVIF |

Via go2rtc (HTTP/MJPEG/HLS/specific protocols): | Manufacturer / Type | Protocol via go2rtc | |---|---| | EZVIZ | RTSP (via go2rtc) | | Ring | native | | DoorBird | native | | Wyze | native | | Xiaomi / Mi | native | | Tuya cameras | native | | USB webcams | FFmpeg | | HTTP-MJPEG streams | HTTP | | HLS streams | HTTP | | UniFi Protect | Native API (no go2rtc needed) |

go2rtc — The universal stream mediator

LocalEye uses go2rtc as an integrated streaming layer between camera and interface. This brings three decisive advantages:

  1. Maximum compatibility — go2rtc speaks natively with dozens of camera protocols (RTSP, RTMP, HTTP-MJPEG, HLS, ONVIF, Tapo, Ring, DoorBird and many more) and translates everything into a unified WebRTC signal for the browser.
  2. Minimal latency — instead of RTSP buffering in the browser, WebRTC delivers sub-second live image. No plugin, no reload needed.
  3. Camera protection — all clients connect to go2rtc, not directly to the camera. Less load on the camera, more stable operation.
# go2rtc.yaml — Examples
streams:
  entrance:
    - rtsp://user:password@1.2.3.4:554/Streaming/Channels/101
  tapo_kitchen:
    - tapo://user:password@1.2.3.4
  mjpeg_cam:
    - http://1.2.3.4:8080/?action=stream
  ring_door:
    - ring://...

RTSP URL examples

# General
rtsp://user:password@1.2.3.4:554/stream
# TP-Link Tapo
rtsp://user:password@1.2.3.4:554/stream1
# Hikvision
rtsp://user:password@1.2.3.4:554/Streaming/Channels/101
# Reolink
rtsp://user:password@1.2.3.4:554/h264Preview_01_main
# Dahua
rtsp://user:password@1.2.3.4:554/cam/realmonitor?channel=1&subtype=0
# HTTP-MJPEG (via go2rtc)
http://1.2.3.4:8080/?action=stream

Connect UniFi Protect

  1. Settings → Enter UniFi Protect Host (IP of controller)
  2. Enter API Key (UniFi OS → Settings → API)
  3. Save → cameras are detected automatically

Set up notifications

  1. Notifications+ Add channel
  2. Choose type (Telegram, Discord, Email, etc.)
  3. Enter credentials
  4. Configure schedule (optional)
  5. Send test → function test

Activate AI detection

  1. AI Detection → Select camera → Activate
  2. Choose detection classes (person, car, etc.)
  3. Set confidence threshold (recommended: 0.55)

---

5b. AI Model & GPU Support

Object detection runs by default with YOLOX (Apache-2.0 license, freely resellable, no AGPL issue). Model selectable in docker-compose.yml via AI_MODEL:

| Model | Suitability | |--------------|------------------------------------------| | yolox_nano | Small & very fast, less accurate | | yolox_tiny | Fast, moderate accuracy | | yolox_s | Standard (Default) – good compromise | | yolox_m | More accurate, higher CPU load |

The model can also be switched at runtime in the LocalEye interface under Settings → System (no container restart needed).

GPU Platforms (RF-DETR)

For servers with NVIDIA GPU, RF-DETR-Small (Roboflow, Apache-2.0) is additionally available — higher accuracy with GPU-accelerated inference. Requirement: NVIDIA drivers and nvidia-container-toolkit on the host.

In docker-compose.yml activate the commented-out GPU block:

build:
  context: ./backend
  dockerfile: Dockerfile.gpu
environment:
  - AI_MODEL=rfdetr_small
deploy:
  resources:
    reservations:
      devices:
        - driver: nvidia
          count: 1
          capabilities: [gpu]

After that: docker compose up -d --build

---

6. Ports

| Port | Service | |------|--------| | 8987 | LocalEye WebUI | | 1984 | go2rtc (Streaming) | | 8554 | RTSP-Proxy | | 8555 | WebRTC | | 1883 | MQTT | ---

7. Data & Storage location

All data is in the same directory as the docker-compose.yml:

localeye/
├── config/         → Settings, cameras, users
├── recordings/     → Video recordings
├── snapshots/      → Camera snapshots
└── docker-compose.yml

---

8. HTTPS / Reverse Proxy (recommended)

For external access I recommend Nginx Proxy Manager:

  1. Install NPM (Docker)
  2. Create proxy host:

- Domain: localeye.your-domain.de - Forward: http://NAS-IP:8987 - SSL: Activate Let's Encrypt ---

9. Updates

cd localeye
docker compose down
docker compose up -d --build && docker compose logs -f localeye

---

10. Support

For questions or problems: 📧 service@localeye.shop ---

License

This software is licensed for private and commercial use. Resale or distribution of the source code is not permitted. © 2026 LocalEye

One purchase. No fine print.

LocalEye Home

The standard - plus 19% VAT.

49.00
  • Unlimited cameras
  • Network scan
  • AI object detection + zones
  • 8+ notification channels
  • MQTT & local storage
Buy now
LocalEye Home - Updates Subscription

The standard in the feature subscription with annual payment - plus 19% VAT.

39.00€ / year
  • Enjoy all the benefits of the LocalEye one-time purchase and stay up to date thanks to automatic feature updates as a ZIP file in your email inbox.
Buy now
All-in-One Business Bundle

For IT & Admins - plus 19% VAT

149.00
  • Everything from LocalEye
  • + InfraQuill network documentation
  • + Multi-Controller SearchTool
Buy Now
AllinOne - White-Label

For system houses with annual payment - plus 19% VAT

490.00€ / year
  • Everything from the bundle
  • Your own logo & company name
  • Customizable AI prompt
  • Use in customer projects
  • Suitable for B2B sales to your end customers
Buy Now