Sign inSign up

valtam/ispyagentdvr

By valtam

•Updated 5 days ago

An all-in-one up-to-date Docker image for iSpy AgentDVR, with nVidia, Intel CPU & GPU acceleration.

Image
Networking
Internet of things
Monitoring & observability
0

10K+

valtam/ispyagentdvr repository overview

⁠AgentDVR – All-in-One Docker Image

Repository: valtam/ispyagentdvr
Tag: latest (rolling)
Current latest version: (includes Beta's) 8.2.5.0
Current latest stable version: 8.2.5.0

An all-in-one Docker image for iSpy Agent DVR, built on Ubuntu 24.04 LTS, with GPU acceleration, VAAPI, VLC.

This image is designed to work cleanly on modern Linux systems with NVIDIA and/or Intel/AMD GPUs.


⁠✨ Features

  • Ubuntu 24.04 LTS
  • Latest Agent DVR (downloaded at build time)
  • NVIDIA GPU support (--gpus all)
  • VAAPI support (/dev/dri)
  • FFMPEG 8.1 included
  • VLC / libVLC included
  • TURN / WebRTC ports exposed
  • Watchtower-friendly (latest tag only)

⁠Latest changelog

DateVersionUpdate Information
11/6/20268.2.5.0New
Push alerts for shared users: camera and microphone Push Alerts have a new Send To setting with three options: Me (default), Me and assigned users, or Assigned users only. Shared users get alerts for devices in a group they have access to. If nobody else can receive an alert, it goes to the owner.
A warning shows when Send To includes shared users but the device has no group. Copy Settings copies Send To.
Changed
Adding discovered cameras opens the slot picker straight away. ONVIF cameras are checked in the background and switch on as each check finishes. Before, the picker waited up to 15 seconds for each camera that couldn’t be reached.
Discovered cameras go straight into the view when it has only one slot they can use.
ONVIF cameras that change IP address (DHCP) are followed automatically. Agent moves a camera only when its ONVIF ID answers at exactly one new address and nothing answers at the old one.
Fixes
Fixed perpetual licenses getting no message when remote access was refused, for example with too many servers. Refusals now explain license conflicts, unknown servers, required updates and perpetual licenses without web access.
Fixed the live view flashing when a newly added camera’s audio first connected.

Create a ispyagentdvr directory on the host:

mkdir -p ~/ispyagentdvr
cd ~/ispyagentdvr
nano docker-compose.yml
services:
  ispyagentdvr:
    image: valtam/ispyagentdvr:latest
    container_name: ispyagentdvr
    restart: unless-stopped

    environment:
      TZ: Pacific/Auckland
      NVIDIA_VISIBLE_DEVICES: all
      NVIDIA_DRIVER_CAPABILITIES: all

    ports:
      - "8090:8090"
      - "3478:3478/udp"
      - "51000-51100:50000-50100/udp"

    volumes:
      - /opt/ispyagentdvr/config:/agent/Media/XML
      - /opt/ispyagentdvr/media:/agent/Media/WebServerRoot/Media
      - /opt/ispyagentdvr/commands:/agent/Commands

    devices:
      - /dev/dri/card0:/dev/dri/card0
      - /dev/dri/renderD128:/dev/dri/renderD128

    gpus: all

    labels:
      - "com.centurylinklabs.watchtower.enable=true"

Start the container:

docker compose up -d

Open the UI:

http://<host-ip>:8090

⚠️ Use the host IP, not localhost eg. https://192.168.1.123:8090


🟢 NVIDIA GPU Requirements (Host Setup)

⚠️ Important If you have an NVIDIA GPU and want hardware acceleration (CUDA / NVENC), you must install NVIDIA components on the host system. Docker cannot provide NVIDIA drivers from inside the container.

🧩 Required on the host (not inside Docker) 🖥️ 1. NVIDIA GPU Driver

Install a supported NVIDIA driver on the host OS.

Check:

nvidia-smi

✔ If this works → GPU is ready ❌ If this fails → AgentDVR will run in CPU-only mode

🧰 2. NVIDIA Container Toolkit

Required to allow Docker containers to access the GPU.

Ubuntu / Debian:

sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

Verify Docker GPU access:

docker run --rm --gpus all nvidia/cuda:12.3.0-base-ubuntu22.04 nvidia-smi

You should see GPU information printed.

🐳 Docker configuration

Your container must be started with GPU access enabled.

Docker Compose:

gpus: all

docker run:

--gpus all

✔ This repository’s docker-compose.yml already includes this.

🔍 Verify GPU access inside the container

docker exec -it ispyagentdvr nvidia-smi

If this works, CUDA / NVENC acceleration is available to AgentDVR.

🧠 GPU support summary

GPU Type Acceleration Notes

🟢 NVIDIA CUDA / NVENC Requires driver + toolkit 🔵 Intel VAAPI Uses /dev/dri 🔴 AMD VAAPI Uses /dev/dri ⚪ None CPU-only Works, lower performance

❗ Important clarifications

❌ NVIDIA drivers cannot be installed inside Docker

❌ Docker images do not include GPU drivers

✔ AgentDVR auto-detects available hardware at runtime

✔ CPU-only operation works without any GPU setup

✅ Quick checklist

🧩 NVIDIA driver installed on host

🧰 NVIDIA Container Toolkit installed

🐳 Docker started with --gpus all

🔍 nvidia-smi works inside container


⁠🎥 GPU Acceleration

⁠NVIDIA (NVENC)
  • Requires NVIDIA drivers on the host
  • Docker must support --gpus all
  • Verify with:
    docker exec -it ispyagentdvr nvidia-smi
    
⁠VAAPI (Intel / AMD)
  • Requires /dev/dri
  • Devices used:
    • /dev/dri/card0
    • /dev/dri/renderD128

⁠🔄 Updates & Watchtower

This image publishes only the latest tag.

  • docker pull valtam/ispyagentdvr
  • Watchtower users will auto-update when latest changes
  • No version clutter

⁠🐧 Host Requirements

  • Linux host
  • Docker + Docker Compose v2
  • NVIDIA GPU (optional) or VAAPI-capable GPU
  • Open ports:
    • 8090/tcp
    • 3478/udp
    • 50000–50100/udp

⁠📌 Notes

  • Not affiliated with iSpyConnect Ltd
  • Agent DVR licensing terms apply
  • Intended for self-hosted / homelab use

⁠🆘 Troubleshooting

View logs:

docker logs -f ispyagentdvr

Shell access:

docker exec -it ispyagentdvr bash

Verify acceleration:

nvidia-smi
vainfo

Tag summary

Content type

Image

Digest

sha256:2b797b00d…

Size

467.7 MB

Last updated

5 days ago

docker pull valtam/ispyagentdvr