Skip to content

Commit c6fc47c

Browse files
fix: bump Rust builder to 1.88 (darling 0.23 MSRV)
1 parent c30a1a5 commit c6fc47c

File tree

2 files changed

+80
-114
lines changed

2 files changed

+80
-114
lines changed

README.md

Lines changed: 79 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -56,91 +56,48 @@ ShadowBroker includes an optional Shodan connector for operator-supplied API acc
5656

5757
---
5858

59-
## ⚡ Quick Start (Docker or Podman)
60-
61-
Linux/Mac
62-
63-
```bash
64-
git clone https://github.com/BigBodyCobain/Shadowbroker.git
65-
cd Shadowbroker
66-
./compose.sh up -d
67-
```
68-
69-
Windows
59+
## ⚡ Quick Start (Docker)
7060

7161
```bash
7262
git clone https://github.com/BigBodyCobain/Shadowbroker.git
7363
cd Shadowbroker
74-
docker-compose up -d
64+
docker compose pull
65+
docker compose up -d
7566
```
7667

77-
Open `http://localhost:3000` to view the dashboard! *(Requires Docker or Podman)*
68+
Open `http://localhost:3000` to view the dashboard! *(Requires [Docker Desktop](https://www.docker.com/products/docker-desktop/) or Docker Engine)*
7869

79-
`compose.sh` auto-detects `docker compose`, `docker-compose`, `podman compose`, and `podman-compose`.
80-
If both runtimes are installed, you can force Podman with `./compose.sh --engine podman up -d`.
81-
Do not append a trailing `.` to that command; Compose treats it as a service name.
70+
> **Podman users:** Replace `docker compose` with `podman compose`, or use the `compose.sh` wrapper which auto-detects your engine. Force Podman with `./compose.sh --engine podman up -d`.
8271
8372
---
8473

8574
## 🔄 **How to Update**
8675

87-
If you are coming from v0.9.5 or older, you must pull the new code and rebuild your containers to get the InfoNet testnet, Shodan integration, train tracking, 8 new intelligence layers, and all performance fixes in v0.9.6.
88-
89-
### 🐧 **Linux & 🍎 macOS** (Terminal / Zsh / Bash)
76+
ShadowBroker uses pre-built Docker images — no local building required. Updating takes seconds:
9077

91-
Since these systems are Unix-based, you can use the helper script directly.
92-
93-
**Pull the latest code:**
94-
```bash
95-
git pull origin main
96-
```
97-
**Run the update script:**
9878
```bash
99-
./compose.sh down
100-
./compose.sh up --build -d
79+
docker compose pull
80+
docker compose up -d
10181
```
10282

103-
### 🪟 **Windows** (Command Prompt or PowerShell)
104-
105-
Windows handles scripts differently. You have two ways to update:
106-
107-
**Method A: The Direct Way (Recommended)**
108-
Use the docker compose commands directly. This works in any Windows terminal (CMD, PowerShell, or Windows Terminal).
109-
110-
**Pull the latest code:**
111-
```DOS
112-
git pull origin main
113-
```
83+
That's it. `pull` grabs the latest images, `up -d` restarts the containers.
11484

115-
**Rebuild the containers:**
116-
```DOS
117-
docker compose down
118-
docker compose up --build -d
119-
```
120-
121-
**Method B: Using the Script (Git Bash)**
122-
123-
If you prefer using the ./compose.sh script on Windows, you must use Git Bash (installed with Git for Windows).
124-
125-
Open your project folder, Right-Click, and select "Open Git Bash here".
126-
127-
**Run the Linux commands:**
128-
```bash
129-
./compose.sh down
130-
./compose.sh up --build -d
131-
```
132-
133-
---
85+
> **Coming from an older version?** Pull the latest repo code first, then pull images:
86+
>
87+
> ```bash
88+
> git pull origin main
89+
> docker compose down
90+
> docker compose pull
91+
> docker compose up -d
92+
> ```
13493
13594
### ⚠️ **Stuck on the old version?**
13695
13796
**If the dashboard still shows old data after updating:**
13897
139-
**Clear Docker Cache:** docker compose build --no-cache
140-
141-
**Prune Images:** docker image prune -f
142-
143-
**Check Logs:** ./compose.sh logs -f backend (or docker compose logs -f backend)
98+
* **Force re-pull:** `docker compose pull --no-cache`
99+
* **Prune old images:** `docker image prune -f`
100+
* **Check logs:** `docker compose logs -f backend`
144101
145102
---
146103
@@ -322,48 +279,58 @@ The first decentralized intelligence communication layer built directly into an
322279
## 🏗️ Architecture
323280

324281
```
325-
┌──────────────────────────────────────────────────────────────┐
326-
│ FRONTEND (Next.js) │
327-
│ │
328-
│ ┌─────────────┐ ┌──────────┐ ┌───────────┐ ┌─────────┐ │
329-
│ │ MapLibre GL │ │ NewsFeed │ │ Control │ │ Mesh │ │
330-
│ │ 2D WebGL │ │ SIGINT │ │ Panels │ │ Chat │ │
331-
│ │ Map Render │ │ Intel │ │ Radio │ │Terminal │ │
332-
│ └──────┬──────┘ └────┬─────┘ └─────┬─────┘ └────┬────┘ │
333-
│ └──────────────┼──────────────┼─────────────┘ │
334-
│ │ REST + WebSocket │
335-
├────────────────────────┼─────────────────────────────────────┤
336-
│ BACKEND (FastAPI) │
337-
│ │ │
338-
│ ┌─────────────────────┼──────────────────────────────────┐ │
339-
│ │ Data Fetcher (Scheduler) │ │
340-
│ │ │ │
341-
│ │ ┌──────────┬──────────┬──────────┬───────────┐ │ │
342-
│ │ │ OpenSky │ adsb.lol │CelesTrak │ USGS │ │ │
343-
│ │ │ Flights │ Military │ Sats │ Quakes │ │ │
344-
│ │ ├──────────┼──────────┼──────────┼───────────┤ │ │
345-
│ │ │ AIS WS │ Carrier │ GDELT │ CCTV (13) │ │ │
346-
│ │ │ Ships │ Tracker │ Conflict │ Cameras │ │ │
347-
│ │ ├──────────┼──────────┼──────────┼───────────┤ │ │
348-
│ │ │ DeepState│ RSS │ Region │ GPS │ │ │
349-
│ │ │ Frontline│ Intel │ Dossier │ Jamming │ │ │
350-
│ │ ├──────────┼──────────┼──────────┼───────────┤ │ │
351-
│ │ │ NASA │ NOAA │ IODA │ KiwiSDR │ │ │
352-
│ │ │ FIRMS │ Space Wx│ Outages │ Radios │ │ │
353-
│ │ ├──────────┼──────────┼──────────┼───────────┤ │ │
354-
│ │ │ Shodan │ Amtrak │ SatNOGS │ Meshtastic│ │ │
355-
│ │ │ Devices │ Trains │ TinyGS │ APRS │ │ │
356-
│ │ ├──────────┼──────────┼──────────┼───────────┤ │ │
357-
│ │ │ Volcanoes│ Weather │ Fishing │ Mil Bases │ │ │
358-
│ │ │ Air Qual.│ Alerts │ Activity │Power Plant│ │ │
359-
│ │ └──────────┴──────────┴──────────┴───────────┘ │ │
360-
│ └────────────────────────────────────────────────────────┘ │
361-
│ │
362-
│ ┌────────────────────────────────────────────────────────┐ │
363-
│ │ Wormhole / InfoNet Relay │ │
364-
│ │ Gate Personas │ Canonical Signing │ Dead Drop DMs │ │
365-
│ └────────────────────────────────────────────────────────┘ │
366-
└──────────────────────────────────────────────────────────────┘
282+
┌─────────────────────────────────────────────────────────────────┐
283+
│ FRONTEND (Next.js) │
284+
│ │
285+
│ ┌─────────────┐ ┌──────────┐ ┌───────────┐ ┌────────────┐ │
286+
│ │ MapLibre GL │ │ NewsFeed │ │ Control │ │ Mesh │ │
287+
│ │ 2D WebGL │ │ SIGINT │ │ Panels │ │ Chat │ │
288+
│ │ Map Render │ │ Intel │ │ Radio │ │ Terminal │ │
289+
│ └──────┬──────┘ └────┬─────┘ └─────┬─────┘ └─────┬──────┘ │
290+
│ └───────────────┼──────────────┼──────────────┘ │
291+
│ │ REST + WebSocket │
292+
├─────────────────────────┼───────────────────────────────────────┤
293+
│ BACKEND (FastAPI) │
294+
│ │ │
295+
│ ┌──────────────────────┼────────────────────────────────────┐ │
296+
│ │ Data Fetcher (Scheduler) │ │
297+
│ │ │ │
298+
│ │ ┌───────────┬───────────┬───────────┬───────────┐ │ │
299+
│ │ │ OpenSky │ adsb.lol │ CelesTrak │ USGS │ │ │
300+
│ │ │ Flights │ Military │ Sats │ Quakes │ │ │
301+
│ │ ├───────────┼───────────┼───────────┼───────────┤ │ │
302+
│ │ │ AIS WS │ Carrier │ GDELT │ CCTV (13) │ │ │
303+
│ │ │ Ships │ Tracker │ Conflict │ Cameras │ │ │
304+
│ │ ├───────────┼───────────┼───────────┼───────────┤ │ │
305+
│ │ │ DeepState │ RSS │ Region │ GPS │ │ │
306+
│ │ │ Frontline │ Intel │ Dossier │ Jamming │ │ │
307+
│ │ ├───────────┼───────────┼───────────┼───────────┤ │ │
308+
│ │ │ NASA │ NOAA │ IODA │ KiwiSDR │ │ │
309+
│ │ │ FIRMS │ Space Wx │ Outages │ Radios │ │ │
310+
│ │ ├───────────┼───────────┼───────────┼───────────┤ │ │
311+
│ │ │ Shodan │ Amtrak │ SatNOGS │Meshtastic │ │ │
312+
│ │ │ Devices │ DigiTraf │ TinyGS │ APRS │ │ │
313+
│ │ ├───────────┼───────────┼───────────┼───────────┤ │ │
314+
│ │ │ Volcanoes │ Weather │ Fishing │ Mil Bases │ │ │
315+
│ │ │ Air Qual. │ Alerts │ Activity │Pwr Plants │ │ │
316+
│ │ ├───────────┼───────────┼───────────┼───────────┤ │ │
317+
│ │ │ Sentinel │ MODIS │ VIIRS │ Data │ │ │
318+
│ │ │ Hub/STAC │ Terra │ Nightlts │ Centers │ │ │
319+
│ │ └───────────┴───────────┴───────────┴───────────┘ │ │
320+
│ └───────────────────────────────────────────────────────────┘ │
321+
│ │
322+
│ ┌───────────────────────────────────────────────────────────┐ │
323+
│ │ Wormhole / InfoNet Relay │ │
324+
│ │ Gate Personas │ Canonical Signing │ Dead Drop DMs │ │
325+
│ └───────────────────────────────────────────────────────────┘ │
326+
│ │
327+
│ ┌───────────────────────────────────────────────────────────┐ │
328+
│ │ GHCR (Pre-built Images) │ │
329+
│ │ ghcr.io/bigbodycobain/shadowbroker-backend:latest │ │
330+
│ │ ghcr.io/bigbodycobain/shadowbroker-frontend:latest │ │
331+
│ │ Multi-arch: linux/amd64 + linux/arm64 │ │
332+
│ └───────────────────────────────────────────────────────────┘ │
333+
└─────────────────────────────────────────────────────────────────┘
367334
```
368335

369336
---
@@ -418,15 +385,16 @@ The first decentralized intelligence communication layer built directly into an
418385

419386
## 🚀 Getting Started
420387

421-
### 🐳 Docker / Podman Setup (Recommended for Self-Hosting)
388+
### 🐳 Docker Setup (Recommended for Self-Hosting)
422389

423-
The repo includes a `docker-compose.yml` that builds both images locally.
390+
The repo includes a `docker-compose.yml` that pulls pre-built images from the GitHub Container Registry.
424391

425392
```bash
426393
git clone https://github.com/BigBodyCobain/Shadowbroker.git
427394
cd Shadowbroker
428395
# Add your API keys in a repo-root .env file (optional — see Environment Variables below)
429-
./compose.sh up -d
396+
docker compose pull
397+
docker compose up -d
430398
```
431399

432400
Open `http://localhost:3000` to view the dashboard.
@@ -452,8 +420,7 @@ Open `http://localhost:3000` to view the dashboard.
452420
> # BACKEND_URL=http://myserver.com:9096
453421
> ```
454422
455-
If you prefer to call the container engine directly, Podman users can run `podman compose up -d`, or force the wrapper to use Podman with `./compose.sh --engine podman up -d`.
456-
Depending on your local Podman configuration, `podman compose` may still delegate to an external compose provider while talking to the Podman socket.
423+
**Podman users:** Replace `docker compose` with `podman compose`, or use the `compose.sh` wrapper which auto-detects your engine.
457424
458425
---
459426
@@ -517,9 +484,8 @@ If you just want to run the dashboard without dealing with terminal commands:
517484
518485
Local launcher notes:
519486
520-
- `start.bat` / `start.sh` currently run the hardened web/local stack, not the final native desktop boundary.
521-
- Security-sensitive paths are hardened up to the pre-Tauri boundary, but operator-facing responsiveness still matters and is part of the acceptance bar.
522-
- If Wormhole identity or DM contact endpoints fail after an upgrade on Windows, see `F:\Codebase\Oracle\live-risk-dashboard\docs\mesh\pre-tauri-phase-closeout.md` for the secure-storage repair workflow.
487+
- `start.bat` / `start.sh` run the app without Docker — they install dependencies and start both servers directly.
488+
- If Wormhole identity or DM contact endpoints fail after an upgrade, check the `docs/mesh/` folder for troubleshooting.
523489
524490
---
525491

backend/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# ---- Stage 1: Compile privacy-core Rust library ----
2-
FROM rust:1.87-slim-bookworm AS rust-builder
2+
FROM rust:1.88-slim-bookworm AS rust-builder
33

44
RUN apt-get update && apt-get install -y --no-install-recommends \
55
pkg-config libssl-dev \

0 commit comments

Comments
 (0)