Perfect. Here’s your
step-by-step execution checklist. It’s organized so you can literally sit at your desk, power up your Empire Node, and follow line by line.
1. Core Infrastructure Setup
OS & Updates
- Flash Ubuntu Server 24.04 LTS (or Raspberry Pi OS 64-bit for Pis).
- First boot:
<span><span>sudo apt update && sudo apt upgrade -y<br>sudo apt install net-tools curl git htop ufw fail2ban -y<br></span></span>
- Harden SSH:
<span><span>sudo nano /etc/ssh/sshd_config<br></span><span><span># PermitRootLogin no</span></span><span><br></span><span><span># PasswordAuthentication no</span></span><span><br>sudo systemctl restart ssh<br></span></span>
Firewall & Security
<span><span>sudo ufw allow ssh<br>sudo ufw allow 51820/udp </span><span><span># WireGuard</span></span><span><br>sudo ufw allow 80,443/tcp </span><span><span># Web</span></span><span><br>sudo ufw </span><span><span>enable</span></span><span><br></span></span>
2. Networking & VPN
WireGuard VPN
<span><span>sudo apt install wireguard -y<br>wg genkey | </span><span><span>tee</span></span><span> privatekey | wg pubkey > publickey<br></span></span>
- Configure /etc/wireguard/wg0.conf for HQ server.
- Set static IPs for each Pi/Jetson.
Pi-hole + Unbound
<span><span>curl -sSL
https://install.pi-hole.net | bash<br>sudo apt install unbound -y<br></span></span>
3. Communications Layer
SDR (LimeSDR / HackRF)
<span><span>sudo apt install gnuradio gqrx-sdr -y<br>git </span><span><span>clone</span></span><span>
https://github.com/cjcliffe/CubicSDR.git<br></span></span>
- Test reception on shortwave.
- Install fldigi for Morse → Text.
Auto-Failover Script
<span><span><span>#!/bin/bash</span></span><span><br></span><span><span>if</span></span><span> ! ping -c1 8.8.8.8 &>/dev/null; </span><span><span>then</span></span><span><br> systemctl start sdr-link.service<br></span><span><span>else</span></span><span><br> systemctl stop sdr-link.service<br></span><span><span>fi</span></span><span><br></span></span>
4. Access & Security
Identity + ASP.NET Core
- Install .NET 8 SDK:
<span><span>wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh<br>bash dotnet-install.sh --channel 8.0<br></span></span>
- Create project:
<span><span>dotnet new mvc -n EmpireDashboard<br></span><span><span>cd</span></span><span> EmpireDashboard<br>dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore<br>dotnet add package Microsoft.EntityFrameworkCore.SqlServer<br></span></span>
NFC Integration
- Install libnfc:
<span><span>sudo apt install libnfc-bin pcscd pcsc-tools -y<br></span></span>
- Write script: NFC tap → login event.
5. Software Stack
RabbitMQ + SignalR
<span><span>sudo apt install rabbitmq-server -y<br>sudo systemctl </span><span><span>enable</span></span><span> rabbitmq-server --now<br></span></span>
In ASP.NET Core:
<span><span>builder.Services.AddSignalR();<br>builder.Services.AddSingleton<IConnectionFactory>(</span><span><span>new</span></span><span> ConnectionFactory() { HostName = </span><span><span>"localhost"</span></span><span> });<br></span></span>
Database
<span><span>sudo apt install mssql-server -y </span><span><span># if using SQL Server</span></span><span><br></span><span><span># OR</span></span><span><br>sudo apt install postgresql postgresql-contrib -y<br></span></span>
6. AI Elders & ML
Jetson Orin / Hailo
- Install NVIDIA JetPack SDK on Jetson.
- Install ML.NET on .NET project:
<span><span>dotnet add package Microsoft.ML<br></span></span>
Example AI Model
- Train anomaly detector for SDR:
<span><span><span>var</span></span><span> pipeline = mlContext.Transforms.DetectAnomalyBySrCnn(</span><span><span>"Predictions"</span></span><span>, </span><span><span>"SignalInput"</span></span><span>);<br></span></span>
7. Physical Integration
Servo Lock Control (GPIO on Pi)
<span><span>sudo apt install python3-gpiozero -y<br></span></span>
Python test:
<span><span><span>from</span></span><span> gpiozero </span><span><span>import</span></span><span> Servo<br>servo = Servo(</span><span><span>17</span></span><span>)<br>servo.</span><span><span>min</span></span><span>() </span><span><span># lock</span></span><span><br>servo.</span><span><span>max</span></span><span>() </span><span><span># unlock</span></span><span><br></span></span>
Break Beam Sensor
- Connect to GPIO, log events → RabbitMQ.
8. Beta Testing
- Prepare 2–3 Pi 5 mini-nodes with:
- WireGuard pre-configured.
- SDR fallback scripts.
- Pi-hole enabled.
- Dashboard client mode.
- Ship to trusted members.
- Test:
- VPN → HQ Node.
- SDR → Text.
- NFC tap login.
- Transaction in dashboard.
9. Scaling
- Package Empire Node image with pre-installed stack (Pi + SSD).
- Create Ansible script to auto-deploy configs.
- Expand mesh: HQ ↔ Member nodes ↔ Global nodes.
- Document onboarding process.

This checklist gets you from
first boot → secure comms → NFC access → AI governance → beta rollout.
Do you want me to expand this into a
single scripted install package (bash + dotnet + python setup) so you can run one command and bootstrap everything automatically?