AI Surveillance · v3.1 · Windows · Linux · macOS
| Requirement | Minimum | Recommended |
|---|---|---|
| Operating system | 64-bit Windows 10/11, modern Linux, or macOS 12+ | Windows 11 or Ubuntu 22.04+ |
| RAM | 8 GB | 16 GB |
| Free disk | 50 GB | 100 GB+ (for recordings) |
| Internet | Required for first install | — |
You do not need to install Docker yourself — each installer sets it up for you.
After installing, open the dashboard at http://localhost:3010.
http://localhost:3010).The same installer works on all major distributions — it auto-detects your package manager and installs Docker for you.
# Download, make executable, run
curl -fLO https://licensestore.garudai.com/downloads/GarudAI-linux-v3.1.run
chmod +x GarudAI-linux-v3.1.run
sudo ./GarudAI-linux-v3.1.run
That one file unpacks itself and installs everything. (Equivalent: sudo sh GarudAI-linux-v3.1.run.)
curl -fLO https://licensestore.garudai.com/downloads/GarudAI-linux-v3.1.tar.gz
tar -xzf GarudAI-linux-v3.1.tar.gz
cd GarudAI-linux-v3.1
sudo ./install.sh
When it finishes, open http://localhost:3010. Manage it any time with
garudai start | stop | restart | status | logs | open. It also starts on boot.
The command above is identical everywhere; Docker is installed automatically. If your distro blocks the
automatic Docker install, install Docker first using the official package, then re-run sudo ./install.sh:
| Distribution | If Docker install is needed manually |
|---|---|
| Ubuntu / Debian / Mint | sudo apt update && sudo apt install -y docker.io docker-compose-plugin |
| Fedora | sudo dnf install -y docker docker-compose-plugin && sudo systemctl enable --now docker |
| RHEL / CentOS / Rocky / Alma | sudo dnf install -y docker docker-compose-plugin && sudo systemctl enable --now docker |
| openSUSE | sudo zypper install -y docker docker-compose && sudo systemctl enable --now docker |
| Arch / Manjaro | sudo pacman -S --noconfirm docker docker-compose && sudo systemctl enable --now docker |
wget: wget https://licensestore.garudai.com/downloads/GarudAI-linux-v3.1.tar.gzFirst, install Docker Desktop for Mac (choose Apple Silicon or Intel to match your Mac). If you have Homebrew, the installer can do it for you. Then:
curl -fLO https://licensestore.garudai.com/downloads/GarudAI-mac-v3.1.run
xattr -dr com.apple.quarantine GarudAI-mac-v3.1.run # clear the download flag
chmod +x GarudAI-mac-v3.1.run
./GarudAI-mac-v3.1.run
Run it as your normal user (no sudo) — Docker Desktop is per-user.
GarudAI-mac-v3.1 folder and double-click install.command.
(If macOS blocks it: right-click → Open → Open.)Manage it with garudai start | stop | status | logs | open (or ~/GarudAI/garudai …).
In Docker Desktop → Settings, enable "Start Docker Desktop when you log in" so it returns after a reboot.
http://localhost:3010.garudai logs backend (look for the admin password line); on Windows it's shown in the setup log.| Problem | Fix |
|---|---|
| Dashboard won't load | Wait 1–2 minutes after install (images start up). Windows: tray → Status. Linux/macOS: garudai status — every service should say "Up". Then garudai logs. |
| Cameras not auto-discovered | In Add Camera → ONVIF, type your network range (e.g. 192.168.1.0/24) and scan again, or use "Add by IP" and enter the camera's IP + login. Many budget cameras use ONVIF port 8899 — GarudAI handles that automatically. |
| "Connect failed" on a camera | Use the camera's ONVIF login (often admin + the password from the camera's app), not the Wi-Fi password. |
| Forgot the admin password | It's printed once on first run: garudai logs backend (Linux/macOS) or the Windows setup log. Then change it in Settings. |
| Symptom | Cause & fix |
|---|---|
install.sh exits "Please run as root" | Run with sudo: sudo ./install.sh (or sudo ./GarudAI-linux-v3.1.run). |
permission denied … /var/run/docker.sock when using garudai | Your user isn't in the docker group. Run sudo usermod -aG docker $USER, then log out and back in. (Or just use sudo garudai ….) |
| "Cannot connect to the Docker daemon" | Docker isn't running: sudo systemctl enable --now docker. |
| Docker was installed via snap (Ubuntu) and mounts/compose fail | Snap-confined Docker can't read /opt mounts. Remove it and use the official package:sudo snap remove docker then curl -fsSL https://get.docker.com | sudo sh, then re-run the installer. |
| Fedora / RHEL / Rocky / Alma: backend/mediamtx can't read mounted files (SELinux) | SELinux blocks bind mounts. Relabel the install dir:sudo chcon -Rt svirt_sandbox_file_t /opt/garudai then garudai restart. (To confirm it's SELinux: sudo setenforce 0 temporarily and retry.) |
| A service won't start — "port is already allocated" | Another program uses one of GarudAI's ports (3010, 8000, 9000, 9001, 9090, 3001, 6379, 5434, 1935, 8554, 8888, 8889, 9997, 16686, 4317). Find it:sudo ss -tlnp | grep -E ':(3010|8000|9000|6379)' and stop that program. |
| Dashboard works on the PC but not from other devices on the LAN | Open the ports in your firewall: ufw: sudo ufw allow 3010/tcp && sudo ufw allow 8000/tcpfirewalld: sudo firewall-cmd --add-port=3010/tcp --add-port=8000/tcp --permanent && sudo firewall-cmd --reload |
| Installer says "requires x86_64" (Raspberry Pi / ARM server) | GarudAI's AI images are 64-bit Intel/AMD only. ARM (aarch64) boards are not supported — use an x86_64 PC or mini-PC. |
| "no space left on device" while loading images | Docker stores images under /var/lib/docker. Free up space (need ~10 GB for images) or move Docker's data-root to a larger disk. |
| Services restart / get OOM-killed | Not enough RAM. GarudAI needs 8 GB. Close other apps or add RAM; reduce the number of active cameras. |
| Behind a corporate proxy — downloads fail | Configure Docker's proxy (/etc/systemd/system/docker.service.d/http-proxy.conf) and export https_proxy before running the installer. |
| Start GarudAI manually / on boot | It's a systemd service: sudo systemctl start garudai / … enable garudai. Or garudai start. |
| Symptom | Cause & fix |
|---|---|
macOS won't open install.command / .run ("unidentified developer") | Gatekeeper quarantine. Either right-click the file → Open → Open, or clear the flag:xattr -dr com.apple.quarantine GarudAI-mac-v3.1.run |
| Apple Silicon: containers crash / "exec format error" / "rosetta error" | Enable amd64 emulation in Docker Desktop → Settings → General → tick "Use Rosetta for x86_64/amd64 emulation". Install Rosetta first if needed: softwareupdate --install-rosetta --agree-to-license. |
| Detection very slow on Apple Silicon | Expected — amd64 under emulation. For production use a Windows or Linux PC. Intel Macs run natively. |
| Services keep restarting / very sluggish | Docker Desktop's memory is too low. Settings → Resources → set Memory to 8 GB (or more) and CPUs to 4+. |
| Installer says Docker isn't installed and you have no Homebrew | Install Docker Desktop manually (matching your chip), open it once, then re-run the installer. |
| "Cannot connect to the Docker daemon" | Docker Desktop isn't running. Open it, wait for "Docker Desktop is running", then run garudai start. |
garudai: command not found | On Apple Silicon /usr/local/bin may be read-only. Use ~/GarudAI/garudai …, or add an alias:echo 'alias garudai="$HOME/GarudAI/garudai"' >> ~/.zshrc && source ~/.zshrc |
| A service won't start — port already in use | Find the conflicting app: lsof -i :8000 (or :9000, :6379, :3010) and quit it. |
| "mounts denied" / file-sharing error | Keep GarudAI at the default ~/GarudAI (inside your home folder, which Docker Desktop shares). If you moved it, add its path under Docker Desktop → Settings → Resources → File Sharing. |
| GarudAI doesn't come back after reboot | Enable Docker Desktop → Settings → General → "Start Docker Desktop when you log in." Containers auto-restart once Docker is up. |
| macOS firewall prompts about incoming connections | Click Allow (needed for the local dashboard and camera streams). |
Still stuck? Email support@garudai.com with the output of
garudai logs (Linux/macOS) or the Windows setup log.