EU AI Act Article 50 โ€” 20 days to seal | Get passport

๐Ÿš€ Quick Start Guide

From zero to DEFONEOS running in under 5 minutes. Three paths: pip install, Docker, or air-gap deploy.

5 min

Quick Install

pip install defoneos-mcp โ†’ run โ†’ connect

3

Install Paths

pip, Docker, or air-gap tarball

30

Sensor MCPs

Connect any of 30 sensor sources instantly

0

External Dependencies

No cloud account needed. Runs on your hardware.

๐Ÿ pip Install
๐Ÿณ Docker
๐Ÿ“ก Air-Gap Deploy
๐Ÿ”Œ Connect Sensors
โš™๏ธ Configuration

Path 1: pip Install (Development / Evaluation)

1

Install DEFONEOS MCP package

Works on Python 3.10+. Creates the defoneos CLI and MCP server.

pip install defoneos-mcp
2

Initialize the sovereign substrate

Creates ~/.defoneos/ directory structure with default config.

defoneos init # Creates: # ~/.defoneos/config.yaml โ€” Main configuration # ~/.defoneos/sigil/ โ€” Ed25519 keypair + chain database # ~/.defoneos/data/ โ€” Sovereign data lake (SQLite) # ~/.defoneos/models/ โ€” Local model cache (Ollama)
3

Start the DEFONEOS server

Launches the MCP server on localhost:3101 with all 30 sensor tools.

defoneos start --port 3101 # Output: # ๐Ÿ‰ DEFONEOS v1.0 starting... # โœ… SIGIL chain loaded (0 entries) # โœ… 30 MCP tools registered # โœ… BFT council initialised (33 nodes, 11 required for quorum) # โœ… Server listening on http://localhost:3101/mcp
4

Verify the installation

Run the built-in smoke test to confirm everything is working.

defoneos verify # Expected output: # โœ… MCP server responding (HTTP 200) # โœ… SIGIL chain integrity verified # โœ… 30/30 tools available # โœ… BFT council quorum reachable # โœ… Sovereign data lake: 0 entries (ready) # ๐Ÿ‰ DEFONEOS is ready.
5

Open the web dashboard

DEFONEOS includes a built-in web UI on port 8080.

open http://localhost:8080 # Dashboard shows: # - Live sensor feed (30 MCPs) # - Cesium 3D globe with data overlays # - BFT council status # - SIGIL chain explorer # - System health metrics

Path 2: Docker (Production / Server)

1

Pull the DEFONEOS image

Multi-arch image (amd64 + arm64). UK-built, signed, SBOM included.

docker pull csoai/defoneos:latest
2

Run with docker-compose

The full stack: MCP server + Cesium web + Ollama models + PostgreSQL.

# docker-compose.yml version: '3.8' services: defoneos: image: csoai/defoneos:latest ports: - "3101:3101" # MCP server - "8080:8080" # Web dashboard volumes: - defoneos-data:/data - defoneos-sigil:/sigil environment: - DEFONEOS_MODE=sovereign - BFT_QUORUM=11 - OLLAMA_HOST=http://ollama:11434 depends_on: - ollama ollama: image: ollama/ollama:latest volumes: - ollama-models:/root/.ollama deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] volumes: defoneos-data: defoneos-sigil: ollama-models:
3

Launch the stack

docker-compose up -d # Verify: docker-compose ps curl http://localhost:3101/mcp # โ†’ HTTP 200 curl http://localhost:8080 # โ†’ Dashboard HTML

Hardware Requirements

TierCPURAMGPUStorageUse Case
Minimum4 cores8 GBNone (CPU)20 GBEvaluation, small sensor set
Recommended8 cores32 GBRTX 4090 / Jetson AGX100 GBFull 30-MCP sensor suite + local models
Production16+ cores64+ GBA100 / H100 / M4 Ultra500+ GBMulti-user, classified, air-gap

Path 3: Air-Gap Deploy (Classified / Tactical Edge)

For deployments with zero network connectivity. Everything pre-packaged on physical media.

1

Download the air-gap bundle (on a connected machine)

~8 GB tarball containing: DEFONEOS, all 30 MCPs, Ollama + 4 local models, Cesium assets, full documentation.

# On a connected machine: defoneos bundle --airgap --output /media/usb/defoneos-airgap.tar.gz # Bundle includes: # defoneos-mcp/ โ€” Core server + 30 MCPs # ollama/ โ€” Ollama runtime # models/ โ€” 4 GGUF models (~7 GB total) # โ”œโ”€โ”€ qwen2.5-7b.gguf โ€” General reasoning # โ”œโ”€โ”€ deepseek-r1.gguf โ€” Deep reasoning # โ”œโ”€โ”€ nomic-embed.gguf โ€” Embeddings # โ””โ”€โ”€ qwen2.5-3b.gguf โ€” Fast routing # cesium/ โ€” 3D globe assets (offline) # sigil/ โ€” Ed25519 keypair generator # docs/ โ€” Full documentation (offline)
2

Transfer to the air-gapped machine

USB drive (checksum verified) or hardware data diode. Verify SHA-256 before extraction.

# On the air-gapped machine: sha256sum /media/usb/defoneos-airgap.tar.gz # Compare with checksum from connected machine tar xzf /media/usb/defoneos-airgap.tar.gz -C /opt/defoneos cd /opt/defoneos
3

Generate sovereign keys (offline)

Ed25519 keypair generated on the air-gapped machine. Never touches a network.

./defoneos init --airgap # Generates: # /opt/defoneos/sigil/ed25519_priv.pem โ€” Private key (NEVER leave machine) # /opt/defoneos/sigil/ed25519_pub.pem โ€” Public key (share for verification) # /opt/defoneos/sigil/chain.db โ€” Empty SIGIL chain (grows locally)
4

Start DEFONEOS in air-gap mode

No network calls. No telemetry. No external API. All inference local.

./defoneos start --airgap --port 3101 # Output: # ๐Ÿ‰ DEFONEOS v1.0 (AIR-GAP MODE) # โœ… Network: DISABLED # โœ… Telemetry: DISABLED # โœ… External APIs: DISABLED # โœ… Ollama models loaded (4 models, 7 GB) # โœ… SIGIL chain: sovereign keys generated # โœ… 30 MCP tools available (offline cached data) # ๐Ÿ”’ Air-gap verified. No outbound connections.

Edge Hardware Options

DevicePowerComputeBest For
Raspberry Pi 5 (8GB)5WCPU only, Qwen 3BMinimal edge sensor aggregation
Jetson Orin Nano (8GB)15W40 TOPS NPU, YOLOv8Forward-edge vision + detection
Jetson Orin AGX (64GB)60W275 TOPS, multi-modelTactical C2 node, full pipeline
MacBook Pro M430W38 TOPS, 36GB unifiedCommand post, field HQ
Ruggedised server (Xeon)300W+Multi-GPUFixed-site operations centre

Connecting Sensor Sources

DEFONEOS uses MCP (Model Context Protocol) to connect sensor data sources. Each MCP is a self-contained data adapter.

# Connect a satellite imagery source: defoneos sensor add sentinel-hub --api-key YOUR_KEY # Connect AIS maritime tracking: defoneos sensor add aisstream --api-key YOUR_KEY # Connect government open data: defoneos sensor add data-gov-uk # Connect an RTSP camera feed: defoneos sensor add rtsp-camera --url rtsp://192.168.1.100:554/stream # Connect MQTT IoT bridge: defoneos sensor add mqtt-bridge --broker tcp://localhost:1883 # List connected sensors: defoneos sensor list # NAME STATUS TOOLS LAST_POLL # sentinel-hub โœ… live 6 2s ago # aisstream โœ… live 5 1s ago # data-gov-uk โœ… live 8 5s ago # rtsp-camera โœ… live 6 1s ago # mqtt-bridge โœ… live 8 0s ago

Available Sensor MCPs

CategoryMCPs AvailableAuth Required
Satellite Imagerysentinel-hubAPI key (free tier)
Maritimeaisstream-maritimeAPI key (free)
Government Datadata-gov-uk, os-opendata, ons-statistics, companies-houseNone (open data)
OSINTgdelt-newsNone
Environmentalopenaq-air, noaa-weather, uk-met-office, eonet-wildfireNone / API key
Seismicquakeml-seismicNone
Videortsp-cameraCamera URL
IoTmqtt-bridgeBroker address
Defence C2freetak-c2FreeTAKServer endpoint
Dronepx4-dronePX4 SITL or hardware
Visionyolov8-detectLocal (no auth)

Configuration Reference

Main config file at ~/.defoneos/config.yaml

# ~/.defoneos/config.yaml server: port: 3101 mode: sovereign # sovereign | development | classified web_port: 8080 bft: enabled: true nodes: 33 # Total council nodes quorum: 11 # Minimum for consensus (1/3 + 1) timeout_ms: 5000 sigil: algorithm: ed25519 # Ed25519 (quantum-safe path: ml-dsa-65) chain_db: ~/.defoneos/sigil/chain.db auto_emit: true # Emit SIGIL on every action sensors: poll_interval_s: 30 # Poll connected sensors every 30s cache_ttl_m: 5 # Cache responses for 5 minutes max_retries: 3 models: router: ollama # Use local Ollama for model routing default_model: qwen2.5:7b reasoning_model: deepseek-r1 embedding_model: nomic-embed fast_model: qwen2.5:3b data: lake_path: ~/.defoneos/data/sovereign.db max_size_gb: 100 auto_clean_days: 90 # Delete raw data after 90 days (keep summaries) cesium: enabled: true ion_token: "" # Optional: Cesium Ion token for premium assets default_view: [53.8, -1.5, 500000] # Yorkshire, UK, 500km altitude

Environment Variables

VariableDefaultDescription
DEFONEOS_MODEsovereignsovereign, development, or classified
DEFONEOS_PORT3101MCP server port
DEFONEOS_WEB_PORT8080Web dashboard port
BFT_QUORUM11Minimum council votes for consensus
OLLAMA_HOSTlocalhost:11434Ollama API endpoint
SIGIL_AUTO_EMITtrueEmit SIGIL on every system action
AIR_GAPfalseDisable all network calls (air-gap mode)

๐Ÿ’ก Need Help?

Full documentation: OS Architecture ยท API Reference ยท Integration Guide ยท Security

SIGIL: defoneos-start ยท Quick Start Guide ยท pip / Docker / Air-Gap ยท 30 MCPs ยท CSOAI Ltd (UK 16939677) ยท ๐Ÿ‰