# ShadowBroker — Docker Compose Environment Variables # Copy this file to .env and fill in your keys: # cp .env.example .env # ── Required for backend container ───────────────────────────── OPENSKY_CLIENT_ID= OPENSKY_CLIENT_SECRET= AIS_API_KEY= # Admin key to protect sensitive endpoints (settings, updates). # If blank, admin endpoints are only accessible from localhost unless ALLOW_INSECURE_ADMIN=true. ADMIN_KEY= # Allow insecure admin access without ADMIN_KEY (local dev only). # ALLOW_INSECURE_ADMIN=false # User-Agent for Nominatim geocoding requests (per OSM usage policy). # NOMINATIM_USER_AGENT=ShadowBroker/1.0 (https://github.com/BigBodyCobain/Shadowbroker) # ── Optional ─────────────────────────────────────────────────── # LTA (Singapore traffic cameras) — leave blank to skip # LTA_ACCOUNT_KEY= # NASA FIRMS country-scoped fire data — enriches global CSV with conflict-zone hotspots. # Free MAP_KEY from https://firms.modaps.eosdis.nasa.gov/ # FIRMS_MAP_KEY= # Ukraine air raid alerts — free token from https://alerts.in.ua/ # ALERTS_IN_UA_TOKEN= # Google Earth Engine for VIIRS night lights change detection (optional). # pip install earthengine-api # GEE_SERVICE_ACCOUNT_KEY= # Override the backend URL the frontend uses (leave blank for auto-detect) # NEXT_PUBLIC_API_URL=http://192.168.1.50:8000 # ── Mesh / Reticulum (RNS) ───────────────────────────────────── # MESH_RNS_ENABLED=false # MESH_RNS_APP_NAME=shadowbroker # MESH_RNS_ASPECT=infonet # MESH_RNS_IDENTITY_PATH= # MESH_RNS_PEERS= # MESH_RNS_DANDELION_HOPS=2 # MESH_RNS_DANDELION_DELAY_MS=400 # MESH_RNS_CHURN_INTERVAL_S=300 # MESH_RNS_MAX_PEERS=32 # MESH_RNS_MAX_PAYLOAD=8192 # MESH_RNS_PEER_BUCKET_PREFIX=4 # MESH_RNS_MAX_PEERS_PER_BUCKET=4 # MESH_RNS_PEER_FAIL_THRESHOLD=3 # MESH_RNS_PEER_COOLDOWN_S=300 # MESH_RNS_SHARD_ENABLED=false # MESH_RNS_SHARD_DATA_SHARDS=3 # MESH_RNS_SHARD_PARITY_SHARDS=1 # MESH_RNS_SHARD_TTL_S=30 # MESH_RNS_FEC_CODEC=xor # MESH_RNS_BATCH_MS=200 # MESH_RNS_COVER_INTERVAL_S=0 # MESH_RNS_COVER_SIZE=64 # MESH_RNS_IBF_WINDOW=256 # MESH_RNS_IBF_TABLE_SIZE=64 # MESH_RNS_IBF_MINHASH_SIZE=16 # MESH_RNS_IBF_MINHASH_THRESHOLD=0.25 # MESH_RNS_IBF_WINDOW_JITTER=32 # MESH_RNS_IBF_INTERVAL_S=120 # MESH_RNS_IBF_SYNC_PEERS=3 # MESH_RNS_IBF_QUORUM_TIMEOUT_S=6 # MESH_RNS_IBF_MAX_REQUEST_IDS=64 # MESH_RNS_IBF_MAX_EVENTS=64 # MESH_RNS_SESSION_ROTATE_S=0 # MESH_RNS_IBF_FAIL_THRESHOLD=3 # MESH_RNS_IBF_COOLDOWN_S=120 # MESH_VERIFY_INTERVAL_S=600 # MESH_VERIFY_SIGNATURES=false # ── Mesh DM Relay ────────────────────────────────────────────── # MESH_DM_TOKEN_PEPPER=change-me # ── Self Update ──────────────────────────────────────────────── # MESH_UPDATE_SHA256= # ── Wormhole (Local Agent) ───────────────────────────────────── # WORMHOLE_URL=http://127.0.0.1:8787 # WORMHOLE_TRANSPORT=direct # WORMHOLE_SOCKS_PROXY=127.0.0.1:9050 # WORMHOLE_SOCKS_DNS=true