bin/ 230 CLI tools (ask-*, br-*, agent-*, roadid, carpool) scripts/ 99 automation scripts fleet/ Node configs and deployment workers/ Cloudflare Worker sources (roadpay, road-search, squad webhooks) roadc/ RoadC programming language roadnet/ Mesh network (5 APs, WireGuard) operator/ Memory system scripts config/ System configs dotfiles/ Shell configs docs/ Documentation BlackRoad OS — Pave Tomorrow. RoadChain-SHA2048: d1a24f55318d338b RoadChain-Identity: alexa@sovereign RoadChain-Full: d1a24f55318d338b24b60bad7be39286379c76ae5470817482100cb0ddbbcb97e147d07ac7243da0a9f0363e4e5c833d612b9c0df3a3cd20802465420278ef74875a5b77f55af6fe42a931b8b635b3d0d0b6bde9abf33dc42eea52bc03c951406d8cbe49f1a3d29b26a94dade05e9477f34a7d4d4c6ec4005c3c2ac54e73a68440c512c8e83fd9b1fe234750b898ef8f4032c23db173961fe225e67a0432b5293a9714f76c5c57ed5fdf35b9fb40fd73c03ebf88b7253c6a0575f5afb6a6b49b3bda310602fb1ef676859962dad2aebbb2875814b30eee0a8ba195e482d4cbc91d8819e7f38f6db53e8063401649c77bb994371473cabfb917fb53e8cbe73d60
20 KiB
20 KiB
BlackRoad Fleet — Complete Port Map
Generated 2026-03-09 (Layer 5 Deep Port Scan)
Every TCP/UDP port on every node identified
═══════════════════════════════════════════════════════════════════════════
ALICE (192.168.4.49) — Pi 400 — 25 TCP, 15 UDP
═══════════════════════════════════════════════════════════════════════════
TCP:
:22 sshd SSH daemon
:53 pihole-FTL Pi-hole DNS (TCP)
:443 pihole-FTL Pi-hole HTTPS admin
:3000 python3 dashboard-proxy.py (blackroad)
:4010 python3 agents-proxy.py (blackroad)
:5432 postgres PostgreSQL 13 (localhost only)
:6333 qdrant Qdrant vector DB (HTTP)
:6334 qdrant Qdrant vector DB (gRPC)
:6379 redis-server Redis (localhost only)
:7890 python3 stats-proxy.py (/opt/blackroad/)
:8001 python3/uvicorn operator_service (blackroad operator)
:8010 python3 agents-daemon.py (/opt/blackroad/)
:8011 python3 task_queue_v2.py (pi)
:8012 python3 blackroad-ops.py (blackroad)
:8013 python3 status_service.py (pi)
:8014 python3 pi-fleet-dashboard.py (alice)
:8080 nginx (4 workers) Reverse proxy / Cloudflare tunnel ingress
:8083 node/pm2 road-control (PM2 serve)
:8180 python3 BlackRoad Pi Agent (/opt/blackroad/agent.py)
:8184 python3 status-server.py (blackroad)
:8787 node prism-agent (agent.js)
:9000 nginx Nginx secondary (metrics proxy)
:11434 ssh tunnel Ollama (forwarded from remote)
:20241 cloudflared CF tunnel metrics (localhost)
UDP:
:53 pihole-FTL Pi-hole DNS
:68 dhcpcd DHCP client
:123 pihole-FTL NTP (Pi-hole embedded)
:5353 avahi-daemon mDNS/Bonjour
:* cloudflared (4 ports) QUIC tunnels (ephemeral)
:* avahi (2 ports) mDNS ephemeral
═══════════════════════════════════════════════════════════════════════════
CECILIA (192.168.4.96) — Pi 5 + Hailo-8 — 28 TCP, 15 UDP
═══════════════════════════════════════════════════════════════════════════
TCP:
:22 sshd SSH daemon
:53 dnsmasq (3 listeners) DNS: 192.168.4.96, 10.10.2.1, 127.0.0.1
:80 nginx (4 workers) HTTP (BlackRoad OS landing + sites)
:3000 python3 blackroad-server.py (landing page)
:3001 python3 http.server (simple file server)
:3100 node CECE API (server.js) — AI personality engine
:5001 python3 TTS API (tts-api/app.py)
:5002 python3 Monitor API (monitoring/monitor-api.py)
:5432 postgres PostgreSQL 17 (localhost only)
:5900 wayvnc VNC remote desktop (GPU-accelerated)
:7890 python3 stats-proxy.py (/opt/blackroad/)
:8080 nginx HTTP alt (Cloudflare tunnel ingress)
:8086 influxd InfluxDB time-series (all interfaces)
:8088 influxd InfluxDB backup (localhost only)
:8787 python3 blackroad-model-server.py (AI gateway)
:8788 python3/uvicorn BlackRoad API (app.main:app)
:9000 minio MinIO S3-compatible storage
:9001 minio MinIO console UI
:9100 python3 system-monitor.py (node exporter)
:11434 ollama Ollama LLM server (localhost only)
:11435 python3 ollama-proxy.py (external access)
:20241 cloudflared CF tunnel metrics (localhost)
:34001 pironman5 Pironman5 case OLED service
UDP:
:53 dnsmasq (3 listeners) DNS: 192.168.4.96, 10.10.2.1, 127.0.0.1
:67 dnsmasq DHCP server (RoadNet AP clients)
:5353 avahi-daemon mDNS/Bonjour
:* cloudflared (4 ports) QUIC tunnels (ephemeral)
═══════════════════════════════════════════════════════════════════════════
OCTAVIA (192.168.4.100) — Pi 5 + Hailo-8 — 22 TCP, 22 UDP
═══════════════════════════════════════════════════════════════════════════
TCP:
:22 sshd SSH daemon
:53 dnsmasq DNS (localhost only)
:631 cupsd CUPS printing (localhost only)
:2222 docker-proxy → gitea Gitea SSH (→ container :2222)
:2377 dockerd Docker Swarm manager
:3000 python3 http.server (simple landing)
:3100 docker-proxy → gitea Gitea HTTP (→ container :3100)
:4222 dockerd → NATS NATS messaging (Swarm ingress)
:5000 octoprint OctoPrint 3D print server
:7890 python3 stats-proxy.py (/opt/blackroad/)
:7946 dockerd Docker Swarm gossip
:8080 python3 BlackRoad Pi Agent (/opt/blackroad/agent.py)
:8082 docker-proxy → edge Edge Agent (→ container :8080)
:8086 influxd InfluxDB time-series
:8088 influxd InfluxDB backup (localhost)
:8222 dockerd → NATS NATS HTTP monitor (Swarm ingress)
:8787 python3 blackroad-model-server.py (AI gateway)
:9100 python3 system-monitor.py (node exporter)
:11434 ollama Ollama LLM server (localhost only)
:20241 cloudflared CF tunnel metrics (localhost)
:34001 pironman5 Pironman5 case OLED service
UDP:
:53 dnsmasq DNS (localhost)
:67 dnsmasq DHCP server (RoadNet AP)
:1900 octoprint SSDP/UPnP discovery
:4789 docker VXLAN overlay (Swarm)
:5353 avahi + octoprint (7!) mDNS on every interface (leak!)
:7946 dockerd Swarm gossip
:* cloudflared (2 ports) QUIC tunnels
═══════════════════════════════════════════════════════════════════════════
LUCIDIA (192.168.4.38) — Pi 5 — 52 TCP (34 active after cleanup), 19 UDP
═══════════════════════════════════════════════════════════════════════════
TCP:
:22 sshd SSH daemon
:53 dnsmasq DNS (localhost only)
:80 nginx (4 workers) HTTP (530+ blackroad-* apps via wildcard)
:631 cupsd CUPS printing (localhost only)
:3000 python3 api-server.py (alexa user service)
:3002 docker-proxy → carpool CarPool Next.js app (→ container :3000)
:3005 docker-proxy → systems blackroad.systems site (→ container :3000)
:3006 docker-proxy → ai blackroadai.com site (→ container :3000)
:3109 docker-proxy → metaverse blackroad-metaverse (→ container :3000)
:4001 docker-proxy → roadapi RoadAPI (→ container :3001)
:4002 docker-proxy → roadauth RoadAuth (→ container :3002)
:4010 node ollama-bridge (SSE proxy → Ollama)
:5000 gunicorn simpleweb Flask app ⛔ DISABLED
:5001 python3 TTS API (tts-api/app.py) ⛔ DISABLED
:5002 python3 Monitor API (monitoring/monitor-api.py) ⛔ DISABLED
:5100 python3 load-balancer/app.py ⛔ DISABLED
:5200 python3 fleet-monitor/app.py ⛔ DISABLED
:5300 python3 notifications/app.py ⛔ DISABLED
:5400 python3 metrics/app.py ⛔ DISABLED
:5500 python3 analytics/app.py ⛔ DISABLED
:5600 python3 grafana/app.py ⛔ DISABLED
:5700 python3 alert-manager/app.py ⛔ DISABLED
:5800 python3 log-aggregator/app.py ⛔ DISABLED
:5900 python3 backup-system/app.py ⛔ DISABLED
:6000 python3 perf-cache/app.py ⛔ DISABLED
:6100 python3 resource-optimizer/app.py ⛔ DISABLED
:6200 python3 compression-middleware/app.py ⛔ DISABLED
:6300 python3 connection-pool/app.py ⛔ DISABLED
:8000 uvicorn Lucidia API (FastAPI main:app)
:8011 socat Relay → Alice:8011 (task queue)
:8080 docker-proxy → agent pi-my-agent (→ container :8080)
:8081 nginx Nginx alt (blackroad-os static)
:8082 docker-proxy → edge Edge Agent (→ container :8080)
:8086 influxd InfluxDB time-series
:8088 influxd InfluxDB backup (localhost)
:8090 node road-registry-api (server.js, PM2)
:8180 python3 BlackRoad Pi Agent (/opt/blackroad/agent.py)
:8182 python3 status-server.py (alexa user service)
:8787 python3 blackroad-model-server.py (AI gateway)
:8888 java Java HelloWorld server ⛔ DISABLED
:8889 python3 /opt/blackroad-api/api.py
:9090 docker-proxy → edge Edge Agent metrics (→ container :9090)
:9100 node_exporter Prometheus node exporter
:9192 docker-proxy → pdns PowerDNS Admin (→ container :80)
:11434 ollama Ollama LLM server (localhost only)
:20241 cloudflared #1 CF tunnel metrics (localhost)
:20242 cloudflared #2 CF tunnel metrics (2nd instance!)
:38850 tailscaled Tailscale (100.66.235.47)
:38975 ollama runner Ollama model runner (ephemeral)
:46193 tailscaled Tailscale IPv6
UDP:
:53 dnsmasq DNS (localhost)
:67 dnsmasq DHCP server (RoadNet AP)
:5353 avahi-daemon mDNS/Bonjour
:38238 tailscaled Tailscale WireGuard
:41641 tailscaled Tailscale direct (v4+v6)
:* cloudflared (8 ports!) QUIC tunnels (2 instances × 4 each)
═══════════════════════════════════════════════════════════════════════════
FLEET PORT SUMMARY
═══════════════════════════════════════════════════════════════════════════
Total TCP listeners: 25 + 28 + 22 + 52 = 127 fleet-wide
Total UDP listeners: 15 + 15 + 22 + 19 = 71 fleet-wide
Grand total: 198 listening sockets
SHARED SERVICES (same port, all/most nodes):
┌──────────────────────────────────────────────────┐
│ PORT SERVICE NODES │
├──────────────────────────────────────────────────┤
│ :22 SSH ALL 4 │
│ :53 DNS (pihole/dnsmasq) ALL 4 │
│ :7890 stats-proxy.py ALL 4 │
│ :8080 nginx/agent ALL 4 (varied) │
│ :8787 model-server.py Cec+Oct+Luc │
│ :8086 InfluxDB Cec+Oct+Luc │
│ :11434 Ollama Cec+Oct+Luc │
│ :20241 Cloudflared ALL 4 │
│ :34001 Pironman5 Cec+Oct │
│ :9100 node exporter Cec+Oct+Luc │
│ :8180 blackroad agent Ali+Luc │
│ :5001 TTS API Cec+Luc │
│ :5002 Monitor API Cec+Luc │
└──────────────────────────────────────────────────┘
UNIQUE SERVICES:
┌──────────────────────────────────────────────────┐
│ Alice: Pi-hole(:53/:443), Qdrant(:6333/:6334), │
│ PostgreSQL(:5432), Redis(:6379), │
│ operator(:8001), prism-agent(:8787) │
│ │
│ Cecilia: CECE API(:3100), MinIO(:9000/:9001), │
│ VNC(:5900), ollama-proxy(:11435), │
│ PostgreSQL(:5432) │
│ │
│ Octavia: Gitea(:3100/:2222), OctoPrint(:5000), │
│ NATS(:4222/:8222), Docker Swarm(:2377), │
│ CUPS(:631) │
│ │
│ Lucidia: 14 blackroad microservices(:5000-:6300) │
│ Lucidia API(:8000), CarPool(:3002), │
│ PowerDNS Admin(:9192), ollama-bridge, │
│ Java HelloWorld(:8888), socat relay, │
│ 2x cloudflared, Tailscale(:38850), │
│ road-registry-api(:8090), 13 Docker ctrs │
└──────────────────────────────────────────────────┘
HTTP HEALTH STATUS (Layer 6 probe):
┌──────────────────────────────────────────────────────────────┐
│ ALICE :443=000 :3000=000 :4010=503 :6333=200 :7890=000 │
│ :8001=200✓ :8010=200✓ :8011=200✓ :8012=200✓ │
│ :8013=200✓ :8014=200✓ :8080=200✓ :8083=200✓ │
│ :8180=200✓ :8787=401(auth) :9000=403(nginx) │
│ │
│ CECILIA :80=403 :3000=200✓ :3001=200✓ :3100=200✓(CECE) │
│ :5001=200✓(TTS) :5002=200✓ :7890=200✓ │
│ :8080=200✓ :8787=200✓ :8788=404 :9001=200✓(MinIO) │
│ :11434=200✓(Ollama) :34001=200✓(Pironman) │
│ │
│ OCTAVIA :3000=200✓ :3100=200✓(Gitea) :5000=302(OctoPrint)│
│ :7890=200✓ :8080=200✓ :8787=200✓ │
│ :9100=200✓ :11434=200✓ :34001=200✓ │
│ │
│ LUCIDIA :3000=200✓ :3002=200✓(CarPool) :3005=200✓(42KB) │
│ :3006=200✓(42KB) :3109=200✓(53KB metaverse) │
│ :4001=200✓ :4002=200✓ :5000=200✓ :5001=200✓(TTS) │
│ :5100-6300=200✓(all 14 microservices) │
│ :8000=200✓(Lucidia API) :8081=200✓ :8180=200✓ │
│ :8787=200✓ :8888=200✓(Java) :9100=200✓ │
│ :11434=200✓(Ollama) │
└──────────────────────────────────────────────────────────────┘
DATABASE INVENTORY (Layer 6):
┌──────────────────────────────────────────────────────────────┐
│ Alice PostgreSQL: "blackroad" DB (0 tables — empty) │
│ Redis: db0 = 1 key | Qdrant: 0 collections │
│ │
│ Cecilia PostgreSQL: templates only (empty) │
│ InfluxDB: _internal + pironman5 │
│ MinIO: /mnt/minio/data │
│ │
│ Octavia InfluxDB: _internal + pironman5 │
│ Gitea: 207 repos, 8 orgs │
│ │
│ Lucidia PostgreSQL: "operator" DB (owned by pi) │
│ InfluxDB: _internal + pironman5 │
│ PowerDNS: postgres:15-alpine container │
└──────────────────────────────────────────────────────────────┘
DISK HOGS (Layer 6):
┌──────────────────────────────────────────────────────────────┐
│ Cecilia Ollama blobs: 24GB | Wolfram Engine: 4.9GB │
│ Bitcoin sync: 6.2GB | Alexandria sync total: 6.6G│
│ │
│ Octavia blackroad home: 23GB (runners 19GB!) │
│ Ollama: 16GB | Docker: 5.7GB │
│ NVMe Claude: 2.9GB (config 2.1G + time 800M) │
│ │
│ Lucidia blackroad home: 33GB (runners 19GB, models 4.4G)│
│ Ollama: 20GB │
│ │
│ Alice alice home: 2.2GB | pi npm cache: 857MB │
│ alice/gdrive: 882MB │
└──────────────────────────────────────────────────────────────┘
⚠️ FINDINGS:
- Lucidia has 14 Python microservices (:5000-:6300) — many look like
skeleton apps (load-balancer, grafana, alert-manager, etc.)
All running as separate processes = ~14×20MB = 280MB RAM wasted
- Lucidia has 2 cloudflared instances (2 tunnels or duplicate?)
- Octavia OctoPrint broadcasts mDNS on ALL 7 interfaces (including Docker bridges)
- Alice has Ollama forwarded via SSH tunnel (:11434) — not local
- Lucidia :8888 is literally "java HelloWorld" — test service left running
- Lucidia :5000 simpleweb is a basic Flask "Hello World" via gunicorn
- Several services duplicated: TTS API on Cec+Luc, monitor on Cec+Luc
- socat relay on Lucidia:8011 forwards to Alice:8011 (task queue bridge)