User Guide & Installation Manual
Table of Contents
- System Requirements
- What Gets Installed
- Installation Guide
- First Login & Account Setup
- Trial Period & Limitations
- Purchasing a License
- Activating Your License Key
- Camera Management Updated
- AI Detection & Weapon Detection Updated
- Alerts & Notifications Updated
- User Management & Roles New
- Settings & Configuration Updated
- Storage Manager Updated
- Monitoring & System Health
- Troubleshooting
- License Plans & Pricing
- FAQ
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| OS | Windows 10 64-bit (Build 19041+) | Windows 11 64-bit |
| RAM | 8 GB | 16 GB or more |
| Disk Space | 50 GB free on C: drive | 100 GB free (H: or separate drive preferred) |
| GPU | None (CPU-only mode) | NVIDIA GPU with driver 470.76+ (CUDA 11+) |
| CPU | 4-core (Intel/AMD) | 8-core or more |
| Network | Internet for first-time setup | Gigabit LAN for multiple cameras |
| Virtualization | VT-x/AMD-V enabled in BIOS | Same |
What Gets Installed
GarudAI is self-contained. The installer handles everything automatically — you do not need to manually install Docker, Python, PyTorch, YOLO models or any other dependencies.
| Component | Description | Size |
|---|---|---|
| Docker Desktop | Container runtime — downloaded & installed automatically | ~600 MB |
| WSL2 | Windows Subsystem for Linux — enabled automatically | ~100 MB |
| GarudAI Backend | FastAPI server, AI models, YOLO, weapon detection | ~4 GB |
| GarudAI Frontend | Web dashboard (served on port 3010) | ~200 MB |
| Database (PostgreSQL) | Alert/detection data storage | ~150 MB |
| Cache (Redis) | Real-time task queuing | ~50 MB |
| MediaMTX | RTSP/WebRTC stream relay | ~50 MB |
| MinIO | Snapshot & recording object storage | ~250 MB |
| Tray App | Windows system tray control panel (GarudAI.exe) | ~35 MB |
Total download during installation: approximately 6–8 GB. Allow 20–40 minutes on a typical internet connection.
Installation Guide
Before You Begin
- Ensure your machine meets the system requirements above
- You need an active internet connection during installation
- Administrator (admin) access is required
- Disable any VPN during installation — it may interfere with Docker
- Ensure BIOS has Virtualization Technology (VT-x / AMD-V) enabled
Installation Steps
- Download the installer
GarudAI-Setup-v3.0.exefrom garudai.com - Run the installer as Administrator (right-click → Run as administrator)
- The installer checks your system requirements (RAM, disk space, OS version)
- GPU detection runs automatically — the installer detects NVIDIA GPU and driver version
- If WSL2 is not installed, the installer enables it and may require a Windows restart — restart and re-run the installer to continue
- If Docker Desktop is not installed, the installer downloads and installs it silently (~15 minutes)
- The installer downloads the GarudAI AI components (~5–8 GB) — this is the longest step
- All 11 services start automatically. The dashboard opens at
http://localhost:3010 - The GarudAI tray icon appears in your system tray (bottom-right taskbar)
First Login & Account Setup
Accessing the Dashboard
Open your browser and navigate to http://localhost:3010 — or double-click the tray icon.
Default Administrator Credentials
Forgot Your Password?
On the login page, click "Forgot password?" below the Sign In button. Enter your registered email address — you will receive a reset link valid for 1 hour. Click the link in the email and set a new password that meets the password policy.
Password Policy
All passwords must meet these requirements:
- Minimum 8 characters, maximum 32 characters
- At least one uppercase letter (A–Z)
- At least one lowercase letter (a–z)
- At least one number (0–9)
- At least one symbol (!@#$%^&*...)
The system shows a real-time indicator as you type, showing which requirements are met (green ✓) or not yet met (red ✗).
Trial Period & Limitations
GarudAI starts in trial mode automatically. The trial gives you full access to evaluate all core features.
| Feature | Trial | Licensed |
|---|---|---|
| Cameras | 1 camera | Up to 5 (Y12 plan) |
| General AI Detection | ✅ Full | ✅ Full |
| Weapon Detection | Add-on (WD1 — 24h trial key) | ✅ Included |
| Alerts & Notifications | ✅ Full | ✅ Full |
| Dashboard & Monitoring | ✅ Full | ✅ Full |
| Local Webcam Support | ✅ Full | ✅ Full |
| Export/Reporting | ✅ Full | ✅ Full |
Purchasing a License
Visit purchase.garudai.com or click the "Purchase" link in the GarudAI tray app. Payments are processed securely via PayU with UPI, Net Banking, Cards and Wallets supported.
License Plans
| Plan | Duration | Cameras | Weapon Detection | Price (+ GST) |
|---|---|---|---|---|
| Quarterly | 3 months | Up to 5 | ✅ Included | ₹11,800 |
| Half-Year | 6 months | Up to 5 | ✅ Included | ₹21,240 |
| Annual | 12 months | Up to 5 | ✅ Included | ₹37,760 |
| WD1 Add-on | 24 hours | Trial (1) | ✅ Test only | ₹599 |
After successful payment you will receive a product key by email. Keys are machine-locked — they activate on your specific hardware.
Activating Your License Key
- Click the GarudAI tray icon in your system tray
- Select Activate License from the menu
- Enter your product key exactly as received (format:
GRDI-XXXX-XXXX-XXXX-XXXX) - Click Activate — the system contacts the license server
- On success, the tray tooltip shows "Licensed · N days left"
- The dashboard footer also shows the license status
Camera Management Updated
Supported Camera Types
| Type | Connection | Example |
|---|---|---|
| IP Camera (RTSP) | RTSP URL over network | rtsp://192.168.1.100:554/stream |
| HTTP / MJPEG | HTTP stream URL | http://192.168.1.100:8080/video |
| ONVIF Camera | Auto-discovered on network | Any ONVIF-compatible IP camera |
| Local Webcam | Browser WebRTC (no drivers needed) | USB webcam, laptop camera |
| USB Webcam (FFmpeg) | Integer index or device name | 0, 1, HD User Facing |
Adding an IP Camera
- Go to Cameras in the left sidebar
- Click + Add Camera
- Select 📹 IP / RTSP Camera tab
- Enter the RTSP URL or use ONVIF Auto-Discovery to scan your network
- Click Test Connection — the system connects and reports the resolution
- If the camera is 1080p or higher, a sub-stream is automatically detected and configured to prevent performance issues
- Enter a camera name and location, then click Add Camera
Adding a Local Webcam
- Click + Add Camera and select the 💻 Local Webcam tab
- Your connected webcams are listed automatically
- Select your webcam from the dropdown
- Click Preview Camera to see the live feed
- Click Start Streaming → — the browser publishes the webcam via WebRTC to the local relay server
- The camera name defaults to "Local Webcam" — click Add Camera
Editing a Camera
Click Edit on any camera card to update:
- Camera name, location
- Stream URL (changing the URL restarts the stream worker automatically)
- Sub-stream URL (for high-resolution cameras)
- Camera type and stream tier (Critical / Main / Overview / Archive)
- Recording on/off
Camera Detection Settings
Click Settings on any camera card to configure per-camera detection:
| Setting | Description |
|---|---|
| Detection Categories | Enable/disable Firearms, Sharp Weapons, Vehicles, Humans, Animals, etc. |
| General Confidence | Minimum confidence for humans, vehicles, plants. Lower = more detections, higher = fewer false positives. |
| Firearms Confidence | Separate threshold for guns/rifles — raise this to reduce false positives from similar-shaped objects. |
| Sharp Weapons Confidence | Separate threshold for knives/blades — can be set lower since knives need edge detection. |
| Inference Interval | Seconds between AI scans. Lower = faster response, higher = less CPU usage. |
| Alert Cooldowns | Minimum gap between consecutive alerts per severity. Set higher to prevent alert spam. |
Camera Groups
Group cameras by location or zone. Camera groups allow you to filter alerts and detections by area, set group-level monitoring, and manage zones efficiently. Create groups from the Camera Groups page in the sidebar.
AI Detection & Weapon Detection Updated
Detection Categories
| Category | Severity | What It Detects |
|---|---|---|
| Firearms | 🔴 Critical | Handguns, pistols, rifles, grenades |
| Sharp Weapons | 🔴 Critical | Knives, blades, machetes, scissors |
| Humans | 🟡 Warning | People / persons in frame |
| Vehicles | 🟡 Warning | Cars, motorcycles, bicycles, trucks |
| Animals | 🟡 Warning | Dogs, cats, livestock, wildlife |
| Reptiles | 🟡 Warning | Snakes, lizards, crocodiles |
| Birds | 🔵 Info | Birds of any species |
| Plants | 🔵 Info | Trees, potted plants, vegetation |
| Objects | 🔵 Info | Common household/street objects |
Weapon Detection
GarudAI uses a dedicated weapon AI model (Kaggle YOLOv8, trained specifically on weapon imagery) in addition to the general object detector. Weapon detection runs on every camera frame in GPU mode.
Separate Thresholds for Firearms vs Sharp Weapons
You can set different confidence thresholds for firearms and sharp weapons per camera. This is important because:
- Firearms: Set higher (50-60%) to prevent long vertical objects (poles, plants) from triggering false alarms
- Sharp Weapons: Can be set lower (20-30%) since knife shapes are more distinctive and less likely to be confused with other objects
Weapon Detection Tips for Best Results
- Distance: Best results within 3–5 metres of the camera
- Orientation: Hold weapon sideways (profile view) — end-on angles reduce confidence significantly
- Lighting: Works in both daylight and IR night mode. Night vision may reduce confidence by 30–50%; use YOLOv8L for better night accuracy
- Top-down cameras: GarudAI uses a person-guided crop scan — it detects you first, then scans a larger area around you for weapons
AI Models
Go to AI Models in the sidebar to switch the detection model:
| Model | Speed | Accuracy | Best For |
|---|---|---|---|
| YOLOv8n (Nano) | Very fast (~15ms) | Good | Low-end hardware, many cameras |
| YOLOv8s (Small) | Fast (~25ms) | Better | Balance of speed and accuracy |
| YOLOv8m (Medium) | Medium (~50ms) | High | Standard deployments |
| YOLOv8l (Large) | Slower (~100ms) | Very High | Night vision, top-down cameras, critical detection |
| YOLOv8x (Extra Large) | Slow (~200ms+) | Highest | Not recommended for real-time (causes lag) |
AI Compute Mode
Go to Settings → AI Compute to switch between modes:
- GPU Only: Both YOLO and weapon model run on GPU — fastest, best accuracy
- CPU + GPU Split: YOLO on GPU, weapon model on CPU — conserves GPU memory
- CPU Only: All inference on CPU — for systems without NVIDIA GPU
Alerts & Notifications Updated
Alert Types
| Type | Trigger | Channels |
|---|---|---|
| 🔴 Critical | Weapon detected (firearm or sharp weapon) | Dashboard, Email, Telegram, Sound alarm |
| 🟡 Warning | Person, vehicle, or animal detected | Dashboard, Email, Telegram (if configured) |
| 🔵 Info | Plants, objects, birds detected | Dashboard only |
Configuring Email Notifications
Go to Settings → Notifications:
- Toggle Email Alerts on
- Enter your SMTP host (e.g.,
smtp.gmail.com), port (587 for TLS), username and password - For Gmail, use an App Password (not your regular password) — create one at Google Account → Security → 2-Step Verification → App Passwords
- Click Send Test Email to verify
- Click Save Notification Settings
Configuring Telegram Notifications
- Create a bot via Telegram @BotFather — send
/newbotand follow instructions - Copy the bot token (format:
1234567890:AABBCCDDee...) - In Settings → Notifications, paste the Bot Token
- Enter your Chat ID (message @userinfobot on Telegram to get yours)
- Click Send Test to verify
- Save settings
Per-User Notification Preferences
Each user has independent notification settings. As an admin, go to Users, click the notification badges (✉ ✈) on any user row, then click Configure:
- Enable/disable email and Telegram per user independently
- Set their alert email address (can differ from account email)
- Set minimum severity: Critical only, Warning & above, or All alerts
- Set event type filters (weapon, intrusion, face, plate, etc.)
Alert Cooldowns
To prevent notification spam, configure per-camera cooldown periods in Camera Settings:
- Firearms cooldown: Minimum seconds between consecutive gun alerts (default 5s)
- Sharp Weapons cooldown: Minimum seconds between consecutive knife alerts (default 3s)
- Warning cooldown: Minimum seconds between human/vehicle alerts (default 10–60s)
My Notification Preferences (Per-User)
Go to Settings → My Notification Preferences to set your personal preferences:
- Toggle email alerts on/off for your account
- Set your personal alert email address
- Toggle Telegram alerts on/off
- Enter your personal Telegram Chat ID
- Set your minimum severity threshold
- Set which event types you want notifications for
User Management & Roles New
User Roles
GarudAI has four user roles with different permission levels:
| Role | Level | Key Capabilities |
|---|---|---|
| Admin | Highest | Full access — manage users, system settings, all features |
| Manager | High | Full operational access + AI models, cannot manage users or change system settings |
| Operator | Medium | Camera management, acknowledge alerts, view detections — cannot delete cameras/alerts or upload AI models |
| Viewer | Read-only | View cameras, alerts, detections — cannot change anything |
Creating a New User
- Go to Users in the sidebar
- Click + Add User
- Enter username, email, and a strong password (must meet password policy)
- Select a role (Admin / Manager / Operator / Viewer)
- Optionally enable Email and/or Telegram notifications for this user
- Set their minimum alert severity and event types for notifications
- Click Create User
Editing a User (Admin Only)
Click Edit on any user row to:
- Change their username or email address
- Promote or demote their role
- Activate or suspend their account
- Reset their password — enter a new password (no current password needed for admin-initiated reset)
User Notification Badges
The Users table shows notification status badges for each user:
- Green ✉ = Email alerts enabled
- Grey ✉ = Email alerts disabled
- Green ✈ = Telegram enabled + Chat ID configured
- Yellow ✈ = Telegram enabled but user hasn't set their Chat ID yet
Settings & Configuration Updated
Global AI & Stream Settings
Go to Settings → Global AI & Stream Settings to configure system-wide defaults that apply to all cameras. Changes take effect immediately without a restart:
| Setting | Description |
|---|---|
| Alert Throttle | Default minimum gap between warning-level alerts (humans/vehicles). Per-camera settings override this. |
| Event Clip Duration | Length (seconds) of video clips recorded when an alert fires. |
| Stream Read FPS | How many frames per second the system reads from each camera stream. |
| Abandoned Object (s) | Seconds a stationary object must remain before triggering an abandoned object alert. |
| Suspicious Speed | Pixel movement per frame that triggers a fast-movement/suspicious activity alert. |
AI Compute Settings
Switch between CPU-only, GPU-only, and split (CPU+GPU) modes. GPU mode delivers 3–10× faster inference. The recommended setting for NVIDIA GPU systems is GPU Only.
Storage Manager Updated
Go to Storage Manager in the sidebar to manage disk usage.
Snapshots
Snapshot images captured at detection events. You can:
- Browse thumbnails with lazy loading
- Select multiple snapshots for bulk deletion
- Delete all orphaned files (not linked to any alert)
Recordings
Video clips recorded around detection events. Manage and clean up as needed.
Cascade Delete with Impact Warning
When you delete snapshots or recordings, GarudAI shows an impact analysis before deletion:
- How many alerts reference these files
- How many weapon events reference these files
- How many detection records reference these files
You can confirm to delete all linked records alongside the files, or cancel to keep them.
Disk Management Tips
- Move Docker's data location to a secondary drive (D:, E:, H:) in Docker Desktop → Settings → Resources → Disk image location to keep C: free
- Set appropriate recording and snapshot retention periods in camera settings
- Run Cleanup Orphans regularly to remove files not linked to any alert
Monitoring & System Health
Go to Monitoring to view real-time system performance:
- CPU, RAM, Disk: Live usage gauges
- GPU: VRAM usage, utilisation %, temperature (NVIDIA GPU required)
- Detection Pipeline: Frames processed, inference time, active pipelines
- Camera Streams: Frames read, reconnect count, stream health per camera
- Service Status: All 11 Docker services health
Advanced metrics are available via Grafana at http://localhost:3001 (admin / admin). Prometheus metrics are exposed at http://localhost:9090.
Troubleshooting
Dashboard not loading (http://localhost:3010)
- Check that Docker Desktop is running (look for the Docker icon in system tray)
- Right-click the GarudAI tray icon and select Restart Services
- Wait 60 seconds for all services to start
- If still failing, open Docker Desktop and check that all
garudai-*containers are running
Camera shows "Offline"
- Verify the camera is powered on and accessible on your network
- Test the RTSP URL directly in VLC or another player
- Check the camera's network firewall/settings allow connections
- Click Restart on the camera card to force a reconnect
- For high-resolution cameras, ensure the sub-stream URL is configured (click Edit)
Webcam shows "Offline"
- Ensure the GarudAI browser tab is open — the webcam stream only runs while the app is active
- Check that your browser has permission to access the camera (camera icon in address bar)
- The "Webcam live" badge in the bottom-right confirms the stream is active
- If badge shows yellow "Webcam connecting…", click it to force reconnect
No weapon detections / missed detections
- Ensure Firearms and Sharp Weapons categories are enabled in camera settings
- Check that the AI Detection toggle is ON for the camera
- Verify the confidence thresholds: Firearms 50-55%, Sharp Weapons 20-25% are typical starting points
- Hold the weapon clearly visible in a side/profile orientation (not pointing directly at the camera)
- For night-vision cameras, switch to YOLOv8L model (AI Models page) for better accuracy
- Weapon detection requires a valid paid license or WD1 trial key
False positive alerts (objects detected as weapons)
- Increase the Firearms Confidence threshold (50-60%) to filter marginal detections
- Reduce the number of enabled detection categories to only what you need
- Check if long vertical objects (poles, plant stems) are in view — they can resemble rifles at low confidence
Too many human/vehicle alerts (spam)
- Increase Warning Alert Cooldown in camera settings (e.g., 300s = 5 minutes)
- Increase Warning Scan Interval (e.g., 30s between scans)
- Disable Humans category if human presence is always expected in the scene
Email notifications not working
- For Gmail: use an App Password (not your regular password) — generate one in Google Account → Security → App Passwords
- Verify SMTP settings: host =
smtp.gmail.com, port = 587, TLS = enabled - Click Send Test Email in Settings → Notifications to diagnose
- Check that the user's notification preference is set to receive the alert severity level (warning/critical)
Telegram notifications not working
- The bot must be added to the chat/group where you want alerts
- Verify the bot token is correct (from @BotFather)
- Get the Chat ID by messaging @userinfobot on Telegram
- Ensure user's minimum severity is set to "Critical" or lower
High CPU/RAM usage
- Reduce the number of active cameras
- Switch to a smaller AI model (YOLOv8n or YOLOv8s)
- Increase the Inference Interval per camera (reduces scan frequency)
- Move Docker's data disk to a faster/separate drive
C: drive filling up
- Move Docker Desktop's disk image to another drive: Docker Desktop → Settings → Resources → Disk image location
- Clear Docker build cache:
docker builder prune -f - Remove orphaned Docker images:
docker image prune -f - Use Storage Manager to delete old snapshots and recordings
License Plans & Pricing
| Plan | Duration | Cameras | Weapon Detection | Price (excl. GST) |
|---|---|---|---|---|
| Quarterly (Y3) | 3 months | Up to 5 | ✅ Included | ₹11,800 |
| Half-Year (Y6) | 6 months | Up to 5 | ✅ Included | ₹21,240 |
| Annual (Y12) | 12 months | Up to 5 | ✅ Included | ₹37,760 |
| WD1 Trial | 24 hours | 1 (trial) | ✅ Test only | ₹599 |
All plans include: unlimited alerts, all detection categories, email & Telegram notifications, user management, storage manager, monitoring, and all future updates during the subscription period.
Purchase at purchase.garudai.com | GST Invoice provided | PayU payment gateway (UPI, Cards, Net Banking, Wallets)
Frequently Asked Questions
Can I install GarudAI without a GPU?
Yes. GarudAI runs in CPU-only mode on any Windows 10/11 computer. Detection will be slower (1–3 FPS vs 5–15 FPS with GPU) but fully functional.
Can I use multiple cameras?
Trial mode supports 1 camera. Licensed plans support up to 5 cameras simultaneously. All cameras run AI detection in parallel.
Do I need to install Docker manually?
No. The installer handles everything — Docker Desktop, WSL2, AI models, database, and all services are set up automatically.
What happens if my internet goes down?
GarudAI runs entirely on your local machine. Internet is only needed for license validation (48-hour offline grace period) and initial installation. Cameras, detection, alerts, and storage all work offline.
Can I add a local webcam without FFmpeg?
Yes. Use the Local Webcam tab in Add Camera — it streams directly from your browser using WebRTC with no external tools required. The stream stays active as long as the browser tab is open.
How do I update GarudAI to a new version?
Download and run the latest installer from garudai.com. It detects your existing installation and updates only what has changed. Your data (alerts, settings, recordings) is preserved.
Can viewers receive weapon detection notifications?
Yes. Notification access is independent of role. A Viewer can have email/Telegram notifications enabled for critical weapon alerts, while an Operator might have no notifications. Configure per-user in the Users page.
What is the Manager role?
Manager sits between Admin and Operator. Managers have full operational access (cameras, alerts, AI models, backups, audit logs) but cannot manage users or change global system settings. Ideal for supervisors who manage day-to-day operations without needing full admin access.
Can I reset a user's password as admin?
Yes. Go to Users → click Edit on any user → enter a new password in the "Reset Password" section. No current password is required when resetting as admin.
What cameras are supported?
Any IP camera with an RTSP or HTTP MJPEG stream, ONVIF-compatible cameras (auto-discovered), USB webcams, and browser-based webcams via WebRTC. High-resolution cameras (1080p+) are automatically managed with sub-stream switching.
How do I move storage to free up C: drive space?
Open Docker Desktop → Settings → Resources → Advanced → change the Disk image location to a secondary drive (D:, E:, H:, etc.). Docker Desktop migrates all data automatically. This moves the entire GarudAI storage, database, and recordings to the new location.
Is the system secure?
GarudAI uses JWT authentication with role-based access control (RBAC). The database password and JWT secret are randomly generated during installation and unique per machine. All credentials are stored locally — never transmitted to external servers except for license validation.
How do I get support?
Email: support@garudai.com | Website: https://garudai.com/support
GarudAI v3.0 — AI-Powered Intelligent Surveillance System
© 2026 Garud AI Pvt. Ltd. · A Vcana Global Pvt. Ltd. Company
support@garudai.com · garudai.com · purchase.garudai.com
