Skip to content

Installation

Saif BinAdhed edited this page Aug 3, 2026 · 1 revision

Installation

Boltarr ships as a Docker image (brqae/boltarr:latest). Pick the method that matches your setup.

Important

Boltarr is a network scanner — it needs host networking. Docker's default bridge network sandboxes the container, so nmap can't reach your LAN: you get no host discovery, no MAC addresses, and degraded liveness. Use host networking for any real deployment. Bridge is only fine if you plan to add everything manually.


Docker (recommended)

curl -O https://raw.githubusercontent.com/brq-ae/boltarr/master/docker-compose.yml
docker compose up -d

The provided docker-compose.yml uses host networking by default:

services:
  boltarr:
    image: brqae/boltarr:latest
    container_name: boltarr
    network_mode: host          # scan/ping the real LAN (shares the host's network + IP)
    cap_add:
      - NET_RAW                  # raw sockets for nmap
      - NET_ADMIN
    volumes:
      - ./data:/app/data         # persists the database + config
    restart: unless-stopped

With host networking there's no port mapping — Boltarr binds :12100 directly on the host. Open:

http://<host-ip>:12100

Tip: run Boltarr on its own box, separate from any internet-facing service (like the public status page) — it holds your network map and SSH keys.


Proxmox / unprivileged LXC

Running Docker inside an unprivileged LXC? Uncomment the AppArmor toggle in docker-compose.yml:

    security_opt:
      - apparmor=unconfined

Without it you'll hit docker-default profile could not be loaded. It's safe — Proxmox applies its own AppArmor profile to the whole LXC. Keep network_mode: host for scanning.

LXC prerequisites (Proxmox UI → your LXC → Options): enable Nesting (nesting=1) and keyctl (keyctl=1).


Unraid

Install via Community Applications (search boltarr), or add the template manually:

  1. Docker → Add Container → Template URL
  2. Paste: https://raw.githubusercontent.com/brq-ae/boltarr/master/templates/unraid.xml
  3. Set your data path (default /mnt/user/appdata/boltarr), click Apply.

The template sets Network Type: Host and adds --cap-add=NET_RAW --cap-add=NET_ADMIN so scanning works — leave those as-is.


Bundled Ollama (local AI)

docker compose -f docker-compose.ollama.yml up -d
docker exec boltarr-ollama-1 ollama pull llama3.2

Then set the model in ⚙ Settings → AI. Note: this bundle uses bridge networking (so Boltarr can reach Ollama by name), so LAN scanning won't work from it — if you need both, run Ollama separately and point the main docker-compose.yml at it via LLM_BASE_URL.


Manual (no Docker)

git clone https://github.com/brq-ae/boltarr.git
cd boltarr
# needs Python 3 and nmap installed
bash run.sh        # first run creates a venv, installs deps, starts the server

Runs on the host directly, so scanning works natively. App at http://<host-ip>:12100.


Persisting data

Your database (boltarr.db) and settings (config.yaml) live in the mapped ./data volume — keep it to survive restarts and upgrades. See Configuration for what's in there and how to back it up.

Next step

First Scan — discover your network.

Clone this wiki locally