Skip to main content
ShadowBroker requires Docker or Podman with Compose support. Install Docker Desktop or Podman Desktop before proceeding.
1

Clone the repository

Clone ShadowBroker to your local machine:
git clone https://github.com/BigBodyCobain/Shadowbroker.git
cd Shadowbroker
2

Configure API keys (optional)

Most layers work without any API keys. Maritime vessel tracking (AIS) requires a free key from aisstream.io.Copy the example environment file and add your keys:
cp .env.example .env
Open .env and fill in your values:
.env
# Required for maritime vessel tracking
AIS_API_KEY=your_aisstream_key

# Optional — higher rate limits for flight data
OPENSKY_CLIENT_ID=
OPENSKY_CLIENT_SECRET=

# Optional — Singapore CCTV cameras
# LTA_ACCOUNT_KEY=
If you skip this step, ShadowBroker still works. Aviation, satellite, earthquake, geopolitics, and most other layers do not require API keys.
3

Start the containers

Use the compose.sh helper script. It auto-detects docker compose, docker-compose, podman compose, and podman-compose:
./compose.sh up -d
The first run builds both images locally. This takes 2–4 minutes depending on your connection speed.
If both Docker and Podman are installed and you want to force one engine, use the --engine flag:
./compose.sh --engine podman up -d
The backend container passes a health check before the frontend starts. You can watch progress with:
./compose.sh logs -f
4

Open the dashboard

Once the frontend container is healthy, open your browser:
http://localhost:3000
You should see the ShadowBroker dark-ops map interface loading live data.
5

Enable or disable layers

All data layers are independently toggleable from the left panel of the dashboard.
  1. Click the panel icon on the left side of the screen to open the layer controls.
  2. Toggle individual layers on or off. Some layers (such as CCTV Mesh and High-Res Satellite) are off by default to save bandwidth.
  3. Layers marked ON by default include: commercial flights, military flights, satellites, maritime vessels, earthquakes, GPS jamming, Ukraine frontline, and global incidents.
Right-click anywhere on the map to open a region intelligence dossier — country profile, head of state, and a local Wikipedia summary with the latest Sentinel-2 satellite image for that location.

What to do next

Configuration

Set API keys and configure environment variables for enhanced data coverage.

Data layers

Full reference for all 20+ intelligence layers and their update frequencies.

Docker deployment

Advanced deployment options including LAN access, custom backend URLs, and Portainer stacks.

Kubernetes / Helm

High-availability deployment with the included Helm chart for home-lab clusters.

Build docs developers (and LLMs) love