Error: Cannot connect to the Docker daemon. Is the docker daemon running?
Solution:
# Start Docker
sudo systemctl start docker
# Enable on boot
sudo systemctl enable dockerOn macOS/Windows, open Docker Desktop and ensure it's running.
Error: permission denied while trying to connect to the Docker daemon socket
Solution: Add your user to the docker group:
sudo usermod -aG docker $USER
newgrp dockerThen log out and back in, or restart your terminal.
Error: Error: Docker Compose failed to start
Solution: Check if containers are already running or in a bad state:
docker ps -a
docker rm -f orchestrator watchtower log-signerThen re-run the bootstrap script.
Error: could not select device driver "nvidia" with capabilities: [[gpu]]
Solution: Install the NVIDIA Container Toolkit:
# Ubuntu/Debian
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart dockerOr use the helper script:
bash <(curl -s https://raw.githubusercontent.com/nesaorg/bootstrap/master/helpers/install_nvidia_container_toolkit.sh)Your NVIDIA drivers aren't installed. Install them from NVIDIA's website or via your package manager:
# Ubuntu
sudo apt install nvidia-driver-535 # or latest version
sudo rebootIf you have a GPU but the script says "CPU-only mode":
- Check that
nvidia-smiworks:nvidia-smi - Check Docker can see the GPU:
docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi - If step 2 fails, reinstall the NVIDIA Container Toolkit
Error: error: externally-managed-environment
This happens on newer macOS (Homebrew Python) and some Linux distros. The script handles this automatically by creating a virtual environment at ~/.nesa/venv. If you still see this error:
# Create venv manually
python3 -m venv ~/.nesa/venv
source ~/.nesa/venv/bin/activate
pip install ecdsa base58 cryptography mospy-wallet httpx betterproto ripemd-hashInstall Python 3:
# Ubuntu/Debian
sudo apt install python3 python3-pip python3-venv
# macOS
brew install python3
# CentOS/RHEL
sudo yum install python3 python3-pipError: unsupported hash type ripemd160
OpenSSL 3.0+ disables ripemd160 by default. The script installs a pure Python implementation (ripemd-hash). If you still see this error:
pip install ripemd-hashError: account nesa1... not found
Your wallet needs to receive tokens before it exists on-chain. Use the testnet faucet:
- Go to beta.nesa.ai/faucet
- Enter your wallet address
- Wait a few seconds and retry
Error: account sequence mismatch
This happens when transactions are sent too quickly. The script auto-retries up to 5 times with backoff. If it persists:
- Wait 30 seconds
- Re-run the operation
Error: node already registered
This is fine. Your node was registered in a previous run and the script will skip registration and continue.
Error: Cannot start node - deposit is below minimum
Go to Manage Wallet & Deposits and add more stake. The minimum is shown in the menu.
If node or miner registration fails repeatedly:
- Check your wallet has enough NES for gas fees
- Check network connectivity
- Try again in a few minutes (chain may be congested)
- Check Discord for any network issues
Cause: Your terminal doesn't support the TUI elements.
Solution: Set basic terminal mode:
BASIC_TERMINAL=true bash <(curl -s https://raw.githubusercontent.com/nesaorg/bootstrap/master/bootstrap.sh)The script auto-detects dark/light themes, but detection isn't perfect. If colors are hard to read, the script adjusts automatically on next run, or you can edit your terminal's color scheme.
Serial consoles (ttyS*, ttyAMA*) use simplified input. If you're on a cloud VM console or headless server, the script should auto-detect this. If not:
BASIC_TERMINAL=true bash <(curl ...)Cause: Network connectivity issues or firewall blocking.
Solution:
- Check internet:
curl -s https://api.nesa.ai - Check if ports are blocked by firewall
- If behind corporate proxy, ensure Docker is configured to use it
Some features require port 31333 to be accessible. If your node shows 0 responses on the dashboard:
- Check firewall:
sudo ufw allow 31333/tcp - Check router port forwarding if behind NAT
- Verify with:
nc -zv your-public-ip 31333
Check logs for the actual error:
docker logs orchestrator --tail 100Common causes:
- Out of memory: Check RAM usage with
free -h - Disk full: Check with
df -h - Configuration error: Check
~/.nesa/env/orchestrator.env
Check Watchtower logs:
docker logs watchtowerWatchtower checks every 5 minutes. If updates aren't happening:
- Check network connectivity
- Verify image registry is accessible:
docker pull ghcr.io/nesaorg/orchestrator:testnet-latest
cd ~/.nesa/docker && docker compose downOr use the Stop Node option in the main menu.
If you've tried these solutions and still have issues:
-
Collect logs:
docker logs orchestrator > node.log 2>&1 cp ~/.nesa/logs/bootstrap.log ./bootstrap.log
-
Join Nesa Discord and post in the support channel with:
- Your operating system
- The error message
- The log files (node.log and bootstrap.log)