Manual Installation¶
If you prefer not to use the automated installation script, you can set up Whitebox manually by following these steps.
Installation Steps¶
Step 1: Install Prerequisites¶
# Update package lists
sudo apt update -y
# Apply Ubuntu release updates & security fixes
sudo apt dist-upgrade -y
# Install required packages
sudo apt install -y git git-lfs jq docker.io docker-compose
# Add current user to docker group (or create whitebox user - see Step 4)
sudo usermod -aG docker $USER
Step 2: Configure Docker DNS¶
This prevents DNS resolution issues when building Docker images on networks with local DNS resolvers:
# Create or update Docker daemon configuration
sudo mkdir -p /etc/docker
echo '{"dns": ["9.9.9.9", "149.112.112.112"]}' | sudo tee /etc/docker/daemon.json
# Restart Docker to apply changes
sudo systemctl restart docker
Step 3: Set Hostname (optional, but recommended)¶
Step 4: Create whitebox User (optional, but recommended)¶
# Create whitebox user
sudo useradd -m -s /bin/bash -G sudo whitebox
# Set password for whitebox user
sudo passwd whitebox
# Add user to docker group
sudo usermod -aG docker whitebox
Step 5: Clone Whitebox Repository¶
# Clone to /whitebox directory (recommended for production)
sudo git clone https://gitlab.com/whitebox-aero/whitebox /whitebox
sudo chown -R whitebox:whitebox /whitebox
# Or clone to your home directory (for testing)
cd ~
git clone https://gitlab.com/whitebox-aero/whitebox
cd whitebox
Step 6: Configure Network Interface Naming (Orange Pi only)¶
This step disables predictable network interface naming, which is required for the Wi-Fi access point setup.
This command will:
- Check if you're running on an Orange Pi
- Update
/etc/kernel/cmdlineto addnet.ifnames=0 biosdevname=0parameters - Run
u-boot-updateto apply the changes to the boot configuration - Configure network interface naming to use traditional names (
eth0,wlan0) - Warn you that a reboot is required for changes to take effect
Step 7: Set Up udev Rules for SDR Devices¶
This command will:
- Download the required
udevrules for Stratux/SDR devices - Install them to the correct location
- Reload the
udevrules automatically
Step 8: Set Up Wi-Fi Access Point (Orange Pi only)¶
# Check if the connection already exists and delete it
if nmcli connection show "whitebox-ap" &>/dev/null; then
sudo nmcli connection delete "whitebox-ap"
fi
# Create Wi-Fi access point using NetworkManager
sudo nmcli connection add type wifi ifname wlan0 con-name "whitebox-ap" \
autoconnect yes \
ssid "whitebox" \
wifi.mode ap \
wifi.band bg \
ipv4.method shared \
ipv4.addresses 10.42.0.1/24 \
wifi-sec.key-mgmt wpa-psk \
wifi-sec.psk "whitebox"
# Activate the access point
sudo nmcli connection up whitebox-ap
Step 9: Create .env file¶
cd /whitebox # or wherever you cloned the repository
# Create .env file and populate required variables
# Refer to .env.example for examples
cp .env.example .env
# Edit .env to set env vars as needed and save the file
nano .env
Step 10: Build & Deploy Whitebox Services¶
If you'd like to force all containers to be re-created even if there are no
changes to apply to them, you can use --force-recreate:
Step 11: Post-Installation¶
- Connect Hardware: Attach the USB Wi-Fi adapter, two SDR devices, and GPS module to your device
- Reboot (especially if you configured network interface naming):
sudo reboot - Connect to Wi-Fi: Join the
whiteboxnetwork (password:whitebox) - Access Whitebox: Open your browser and go to
http://10.42.0.1 - Unplug Ethernet: Disconnect the ethernet cable to take Whitebox offline
- Optional: Build cardboard enclosure for easy transport (see Cardboard Enclosure Guide)
Next Steps¶
- Learn more about the Whitebox Architecture
- Check out the Development Guide
- Explore the Plugin Guide to start making your own plugins