``` ┌─────────────────────────────────────────────────────────────────────────┐ │ ARCHIPELAGO BOOT SEQUENCE │ │ Automatic Network Connection & Server Startup │ └─────────────────────────────────────────────────────────────────────────┘ POWER ON │ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ STAGE 1: SYSTEM INIT (sysinit) │ ├─────────────────────────────────────────────────────────────────────────┤ │ ✓ Load kernel modules │ │ ✓ Initialize device filesystem (/dev) │ │ ✓ Detect hardware (CPU, RAM, Storage, Network) │ │ ✓ Mount filesystems │ └─────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ STAGE 2: BOOT SERVICES (boot) │ ├─────────────────────────────────────────────────────────────────────────┤ │ 00-boot-services.start │ │ ├─ Enable networking service │ │ ├─ Enable hostname service │ │ ├─ Enable syslog service │ │ └─ Enable archipelago service │ │ │ │ ✓ Set hostname: "archipelago-node" │ │ ✓ Start system logging │ │ ✓ Sync hardware clock │ └─────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ STAGE 3: NETWORK CONFIGURATION (boot) │ ├─────────────────────────────────────────────────────────────────────────┤ │ 01-network-setup.start │ │ │ │ Step 1: Configure Network Interfaces │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ auto eth0 │ │ │ │ iface eth0 inet dhcp │ │ │ │ hostname archipelago-node │ │ │ │ │ │ │ │ # Also configures: enp0s3, enp0s25, ens0 │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ Step 2: Start Networking Service │ │ ✓ Bring up Ethernet interface │ │ ✓ Send DHCP request │ │ ✓ Wait for IP address (max 30 seconds) │ │ ✓ Configure default route │ │ │ │ Step 3: Configure DNS │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ nameserver 8.8.8.8 # Google DNS │ │ │ │ nameserver 8.8.4.4 # Google DNS backup │ │ │ │ nameserver 1.1.1.1 # Cloudflare DNS │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ Step 4: Test Internet Connectivity │ │ → ping -c 2 8.8.8.8 │ │ ✓ Internet connection established │ │ │ │ Step 5: Display Network Information │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ Network Configuration: │ │ │ │ IP Address: 192.168.1.100/24 │ │ │ │ │ │ │ │ Access the Archipelago UI at: │ │ │ │ http://192.168.1.100:8100 │ │ │ └────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ STAGE 4: HARDWARE OPTIMIZATION (default) │ ├─────────────────────────────────────────────────────────────────────────┤ │ 00-hardware-detect.start │ │ │ │ ┌──────────────────────┐ ┌──────────────────────┐ │ │ │ CPU Detection │ │ Storage Detection │ │ │ ├──────────────────────┤ ├──────────────────────┤ │ │ │ • Intel i7-10710U │ │ • NVMe SSD detected │ │ │ │ • 6 cores, 12 threads│ │ • Set I/O scheduler │ │ │ │ • Load microcode │ │ • Enable TRIM │ │ │ └──────────────────────┘ └──────────────────────┘ │ │ │ │ ┌──────────────────────┐ ┌──────────────────────┐ │ │ │ Graphics Detection │ │ Memory Detection │ │ │ ├──────────────────────┤ ├──────────────────────┤ │ │ │ • Intel UHD Graphics │ │ • 32GB RAM detected │ │ │ │ • Load i915 driver │ │ • Configure caching │ │ │ │ • Enable accel │ │ • Set limits │ │ │ └──────────────────────┘ └──────────────────────┘ │ │ │ │ ✓ Hardware profile: hp-prodesk (or start9-pure, dell-optiplex) │ │ ✓ Log saved to: /var/log/archipelago-hardware.log │ └─────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ STAGE 5: ARCHIPELAGO SERVER START (default) │ ├─────────────────────────────────────────────────────────────────────────┤ │ /etc/init.d/archipelago start │ │ │ │ Pre-Start Checks: │ │ ✓ Network is ready (verified) │ │ ✓ Create data directories │ │ - /var/lib/archipelago/ │ │ - /var/lib/archipelago/apps/ │ │ - /var/lib/archipelago/secrets/ │ │ - /var/lib/archipelago/logs/ │ │ - /var/lib/archipelago/backups/ │ │ ✓ Set permissions (archipelago:archipelago) │ │ │ │ Start Backend Server: │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ $ /usr/bin/archipelago-backend │ │ │ │ │ │ │ │ Environment: │ │ │ │ RUST_LOG=info │ │ │ │ ARCHIPELAGO_DATA_DIR=/var/lib/archipelago │ │ │ │ ARCHIPELAGO_PORT=8100 │ │ │ │ │ │ │ │ User: archipelago (unprivileged) │ │ │ │ PID: [written to /var/run/archipelago.pid] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ Backend Components: │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ Rust API │◄────►│ Vue.js UI │ │ │ │ │ │ Server │ │ (Static) │ │ │ │ │ │ :8100 │ │ │ │ │ │ │ └──────┬───────┘ └──────────────┘ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ ┌──────────────────────────────────┐ │ │ │ │ │ Container Orchestration │ │ │ │ │ │ (Podman Client) │ │ │ │ │ └──────┬───────────────────────────┘ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ ┌──────────────────────────────────┐ │ │ │ │ │ App Management │ │ │ │ │ │ - Bitcoin Core │ │ │ │ │ │ - Lightning Network │ │ │ │ │ │ - Self-hosted apps │ │ │ │ │ └──────────────────────────────────┘ │ │ │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ Post-Start: │ │ ✓ Service running │ │ ✓ Web UI accessible │ │ ✓ Display access URL │ └─────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ READY! 🏝️ │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ✅ Ethernet connected via DHCP │ │ ✅ Internet connectivity verified │ │ ✅ Hardware optimized │ │ ✅ Archipelago backend running │ │ ✅ Web UI available │ │ │ │ Access: http://192.168.1.100:8100 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ═══════════════════════════════════════════════════════════════════════════ TIMING (Approximate) ═══════════════════════════════════════════════════════════════════════════ Stage 1: System Init → 5-10 seconds Stage 2: Boot Services → 2-5 seconds Stage 3: Network Configuration → 5-30 seconds (DHCP timeout) Stage 4: Hardware Optimization → 2-5 seconds Stage 5: Archipelago Server → 5-10 seconds Total Boot Time: 20-60 seconds (depends on DHCP) ═══════════════════════════════════════════════════════════════════════════ WHAT RUNS AUTOMATICALLY ═══════════════════════════════════════════════════════════════════════════ ON EVERY BOOT: ✅ Ethernet connection via DHCP ✅ DNS configuration (Google, Cloudflare) ✅ Internet connectivity test ✅ Hardware detection and optimization ✅ Archipelago backend server (port 8100) ✅ Web UI serving ✅ Container runtime (Podman) ready NO MANUAL INTERVENTION REQUIRED! ═══════════════════════════════════════════════════════════════════════════ ACCESSING THE UI ═══════════════════════════════════════════════════════════════════════════ From Local Network: 1. Boot the device 2. Wait 30-60 seconds 3. Find IP address: • Check router DHCP leases • Look for "archipelago-node" • Or check console output 4. Open browser: http://[IP-ADDRESS]:8100 Example: http://192.168.1.100:8100 http://192.168.0.50:8100 http://10.0.0.100:8100 ═══════════════════════════════════════════════════════════════════════════ RESULT: Plug in, power on, and access your node! 🚀 ```