Platform Compatibility Guide: Mac, Windows & Desktop PCs
RandProof keeper nodes run on any modern consumer hardware: no server or VPS required. Mac Mini, MacBook, iMac, Windows PC, and Linux desktop are all
RandProof keeper nodes run on any modern consumer hardware, no server or VPS required. Mac Mini, MacBook, iMac, Windows PC, and Linux desktop are all fully supported. This section covers every platform, generation, and OS-specific setup path.
30.0.1 Apple Mac Mini: All Models (Recommended Home Node Hardware)
The Mac Mini is ideal for a RandProof home node: always-on, silent, power-efficient (6–22W idle), compact, and far more powerful than minimum requirements. Every Mac Mini from M1 (2020) onward is fully supported.
-
Mac Mini M4 (Late 2024), BEST VALUE: 10-core CPU, 10-core GPU | 16–24 GB unified RAM | 256 GB–2 TB SSD | From $599: ✅ Native ARM64. Runs 5+ chains simultaneously with headroom to spare. Lowest power draw (~6W idle). Docker Desktop 4.x runs natively. Recommended starting point for any new node operator.
-
Mac Mini M4 Pro (Late 2024), POWER USER: 12 or 14-core CPU | 24–64 GB unified RAM | 512 GB–8 TB SSD | From $1,399: ✅ Native ARM64. Thunderbolt 5. Can run 10+ chains plus a full local monitoring stack or RandProofCompute workloads simultaneously. Ideal for high-uptime production nodes or running multiple instances.
-
Mac Mini M2 (2023): 8-core CPU | 8 or 16 GB RAM | 256 GB–2 TB SSD | Used ~$350+, ✅ Native ARM64. The 8 GB config is tight for multi-chain, use the 16 GB config. Capable for 3–5 chains. Excellent value on the used market.
-
Mac Mini M2 Pro (2023): 10 or 12-core CPU | 16 or 32 GB RAM | 512 GB–8 TB SSD | Used ~$600+, ✅ Native ARM64. Excellent multi-chain node. Optional 10GbE useful for high-throughput operations.
-
Mac Mini M1 (2020): 8-core CPU | 8 or 16 GB RAM | 256 GB–2 TB SSD | Used ~$250+, ✅ Native ARM64. The 16 GB config is required for multi-chain. Docker Desktop natively supported since 2021. Good for 2–3 chains. Great value entry point.
-
Mac Mini Intel (2018): Intel Core i3/i5/i7 | 8–64 GB DDR4 | 256 GB–2 TB SSD | Used ~$150+, ⚠ x86_64. Supported but not recommended, higher power draw, EOL from Apple. Fully functional if you already own one. Minimum 16 GB RAM required for keeper node.
-
Mac Mini Intel (2014–2017): Intel Core i5/i7 | 4–16 GB DDR3 | Used ~$80+, ⛔ NOT RECOMMENDED. Maximum 16 GB RAM, older hardware, HDD configurations too slow. Upgrade RAM to 16 GB and install SSD before attempting. Testnet use only.
⚠ NOTE: All Apple Silicon Mac Mini models (M1, M2, M4) run Docker Desktop natively on ARM64: no emulation or Rosetta required. The RandProof Docker image ships as a multi-arch image (linux/arm64 + linux/amd64) and pulls natively on all Apple Silicon hardware.
30.0.2 Mac Setup: macOS 13 Ventura or Later (All Mac Models)
macOS does not include apt, UFW, or systemctl. Follow this path instead of the Linux steps in Section 30.1.3:
# Step 1: Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Apple Silicon: add Homebrew to PATH after install
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
# Step 2: Install Docker Desktop for Mac
brew install --cask docker
# Or download from: https://www.docker.com/products/docker-desktop/
# Select: "Mac with Apple Chip" (M1/M2/M4) OR "Mac with Intel Chip"
# Open Docker Desktop from Applications. In Settings > Resources set:
# CPUs: 4+ | Memory: 4 GB minimum (6 GB for multi-chain) | Disk: 50 GB
# Step 3: Install Node.js 20 and RandProof CLI
brew install node@20
echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
npm install -g @randproof/cli
# Step 4: Verify (Apple Silicon - confirm native ARM64)
docker pull --platform linux/arm64 randproof/randproofkeeper:latest
# No "platform mismatch" warning = native ARM64 confirmed30.0.3 Mac Always-On Configuration (Critical for Node Uptime)
# Prevent Mac Mini from sleeping (run in Terminal)
sudo pmset -a sleep 0 # disable sleep
sudo pmset -a disksleep 0 # disable disk sleep
sudo pmset -a displaysleep 10 # display can still sleep
sudo pmset -a powernap 1 # allow background tasks
pmset -g # verify settings
# Enable Docker Desktop auto-start:
# Docker Desktop > Settings > General > Start Docker Desktop when you log in = ON
# Container auto-restart (use --restart unless-stopped in docker run command):
# Already included in Section 30.6.1 docker run command.
# macOS Firewall: allow Docker incoming connections
# System Settings > Privacy & Security > Firewall > Firewall Options
# Add Docker.app and allow incoming connections.
# If running behind home router: forward port 4001 (P2P gossip) to your Mac.Note: Ports 3000 (health) and 9090 (metrics) are localhost-only, never expose to public internet (AV-35). Port 4001 (P2P gossip) must be public but rate-limited (AV-36).
⚡ POWER TIP: A Mac Mini M4 running a RandProof keeper node uses approximately 6–12W at idle and 15–22W during fulfillment. At $0.15/kWh that is roughly $1–2/month in electricity, the most energy-efficient node platform available.
30.0.4 Windows 10 / 11 Desktop & Laptop: Setup via WSL2
Windows is fully supported via WSL2 (Windows Subsystem for Linux 2) + Docker Desktop for Windows. This provides a native Linux environment with near-native performance. Supported on any Windows 10 version 2004+ or Windows 11 machine.
Windows minimum requirements:
-
CPU: Any 64-bit Intel or AMD processor (2015 or newer), 4+ cores recommended
-
RAM: 8 GB minimum, 16 GB recommended
-
Storage: 50 GB free SSD space
-
OS: Windows 10 version 2004 (build 19041+) or Windows 11
-
BIOS: Virtualization enabled (VT-x or AMD-V), verify in Task Manager > Performance > CPU > Virtualization: Enabled
# Step 1: Install WSL2 (PowerShell as Administrator)
wsl --install
# Installs WSL2 + Ubuntu 22.04. Reboot when prompted.
# If WSL is already installed:
wsl --set-default-version 2
wsl --update
# Step 2: Install Docker Desktop for Windows
# Download: https://www.docker.com/products/docker-desktop/
# During setup: check "Use WSL2 instead of Hyper-V"
# After install: Settings > Resources > WSL Integration > Enable Ubuntu-22.04
# Step 3: Open Ubuntu terminal (Start > Ubuntu or WSL)
# All Linux commands in this runbook run identically inside WSL2.
docker --version # confirm Docker works in WSL2
docker run hello-world
# Step 4: Install Node.js and RandProof CLI inside WSL2
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
npm install -g @randproof/cli
# Step 5: Windows Firewall rules (PowerShell as Administrator)
New-NetFirewallRule -DisplayName "RandProof P2P" -Direction Inbound -Protocol TCP -LocalPort 4001 -Action Allow # AV-36: Consider rate-limiting via third-party firewall for production
New-NetFirewallRule -DisplayName "RandProof Health" -Direction Inbound -Protocol TCP -LocalPort 3000 -Action Allow
# Step 6: Prevent Windows from sleeping
# Settings > System > Power > Sleep > "Never" (while plugged in)
# Step 7: Auto-start on boot (PowerShell as Administrator)
$action = New-ScheduledTaskAction -Execute "wsl.exe" -Argument "-d Ubuntu -e docker start randproof-keeper"
$trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName "RandProof Keeper" -Action $action -Trigger $trigger -RunLevel Highest
⚠ **WSL2 NOTE:** Store your .env file, keys directory, and data directory inside the WSL2 filesystem (~/ path) rather than the Windows filesystem (/mnt/c/). WSL2 filesystem I/O is significantly faster and avoids permission issues.30.0.5 Other Apple Hardware: MacBook, iMac, Mac Studio, Mac Pro
All modern Apple hardware on macOS 13+ is supported. Use the same Mac setup path (Section 30.0.2). Device-specific notes:
-
MacBook Pro / MacBook Air (M1, M2, M3, M4): ✅ Fully supported. Keep plugged in. Disable sleep: System Settings > Battery > Power Adapter > Prevent automatic sleeping when display is off. M3/M4 Pro with 16–36 GB RAM is excellent for multi-chain.
-
iMac M1 / M3 / M4 (24-inch): ✅ Fully supported. Always-on desktop. 16 GB+ config recommended for multi-chain.
-
Mac Studio (M2 Max, M4 Max, M4 Ultra): ✅ Excellent high-uptime production node. Can run 10+ chains plus RandProofCompute simultaneously.
-
Mac Pro (M2 Ultra, M4 Ultra): ✅ Server-grade. Suitable for running multiple node instances or genesis keeper node with maximum uptime.
-
MacBook (Intel, 2017–2020): ⚠ Supported (x86_64) but not recommended as a primary node due to battery and thermal constraints. Suitable for testnet or secondary node use.
30.0.6 Linux Desktop & Home Server
Linux desktops use the same setup as a VPS (Section 30.1.3). No additional steps. Supported distributions:
-
Ubuntu 22.04 LTS / 24.04 LTS: ✅ Recommended. All runbook commands written for Ubuntu.
-
Debian 12 (Bookworm): ✅ Fully supported. Identical apt commands.
-
Pop!_OS 22.04: ✅ Ubuntu-based. Identical setup path.
-
Fedora 39 / 40: ✅ Supported. Use dnf install docker-ce docker-ce-cli instead of apt.
-
Raspberry Pi 5 (8 GB, 64-bit OS): ✅ ARM64. Good single-chain or light multi-chain node. Pi 4 (4 GB) is testnet-only.
-
Arch Linux: ⚠ Supported but advanced. Use pacman/yay. Community-maintained setup guide.
30.0.7 Platform Quick-Reference
-
Mac Mini M4 (2024): ARM64, macOS 15: ✅ Best home node, lowest power, 5+ chains
-
Mac Mini M2 / M2 Pro (2023): ARM64, macOS 13+, ✅ Excellent, strong used-market value
-
Mac Mini M1 (2020): ARM64, macOS 13+, ✅ Good, 16 GB config required for multi-chain
-
Mac Mini Intel (2018): x86_64, macOS 12+, ⚠ Works, not recommended, higher power draw
-
MacBook Pro / Air M1–M4: ARM64, macOS 13+, ✅ Good, keep plugged in, disable sleep
-
iMac M1 / M3 / M4: ARM64, macOS 13+, ✅ Good, 16 GB+ RAM config
-
Mac Studio / Mac Pro (M2+): ARM64, macOS 14+, ✅ Excellent production / multi-instance node
-
Windows 11 Desktop or Laptop: x86_64, WSL2 + Docker Desktop, ✅ Fully supported
-
Windows 10 Desktop or Laptop: x86_64, WSL2 (v2004+), ✅ Supported
-
Ubuntu / Debian / Pop!_OS Desktop: x86_64 or ARM64: ✅ Reference Linux platform
-
Raspberry Pi 5 (8 GB): ARM64, Raspberry Pi OS 64-bit, ✅ Light single-chain node
-
VPS / Cloud Server: x86_64 or ARM64, Ubuntu 22.04: ✅ Production standard, highest uptime
-
RandProofBox (Phase 4): ARM64, RandProof OS, ✅ Plug-and-play, self-configuring