Skip to main content
HOW-TO

NVIDIA Jetson

Run PC2 on an NVIDIA Jetson for GPU-accelerated private AI. Your Jetson becomes a sovereign AI node -- running local language models with hardware acceleration, entirely on your hardware.

Supported Devices​

ModelRAMGPUAI PerformancePrice
Jetson Nano (4GB)4GB128 CUDA coresEntry-level~$150
Jetson Orin Nano8GB1024 CUDA coresMid-range (recommended)~$250
Jetson Orin NX16GB2048 CUDA coresHigh-end~$900
Jetson AGX Orin64GB2048 CUDA coresEnterprise~$2000

Use the latest JetPack version available for your device. The install script auto-detects your JetPack version.

Step 1: Note Your Network Info​

hostname -I

Step 2: Install PC2​

One command. This installs everything -- Node.js, WireGuard, AmneziaWG stealth transport, sing-box (VLESS Reality), dependencies, and starts the server:

cd ~ && git clone https://github.com/Elacity/pc2.net.git && cd pc2.net && sudo bash scripts/install-arm.sh

Already have PC2 cloned? Just update and reinstall:

cd ~/pc2.net && git pull origin main && sudo bash scripts/install-arm.sh

Once complete, open http://your-jetson-ip:4200 in a browser on any device on your network.

Your Jetson automatically registers a username.ela.city domain through the Boson network. Anyone can reach your PC2 at https://username.ela.city -- even behind your home router.

Managing PC2​

pm2 status          # Check if running
pm2 logs pc2 # View logs
pm2 restart pc2 # Restart
pm2 stop pc2 # Stop

Auto-Start on Boot​

pm2 startup         # Follow the printed command
pm2 save # Save current process list

Update​

cd ~/pc2.net && git pull origin main && sudo bash scripts/install-arm.sh

Performance Tips​

Use NVMe SSD​

SD cards are slow. Install an M.2 NVMe SSD and flash JetPack directly to it for better performance.

Max Performance Mode​

The install script automatically sets your Jetson to the highest power mode. To verify or change manually:

sudo nvpmodel -q        # Check current mode
sudo nvpmodel -m 0 # Maximum performance
sudo jetson_clocks # Lock to max clock speeds

Increase Swap (for larger AI models)​

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Monitor GPU​

sudo pip3 install jetson-stats
sudo jtop

Troubleshooting​

Ollama not using GPU? Run nvcc --version. If not found: sudo apt install -y nvidia-jetpack then sudo systemctl restart ollama.

Out of memory? Use a smaller model, increase swap, or disable bluetooth: sudo systemctl disable bluetooth.

Can't access from browser? Check pm2 status, try curl http://localhost:4200/health, open firewall: sudo ufw allow 4200.

Advanced: Free Up RAM (Remove Desktop)​

Irreversible

This removes the graphical desktop environment. After this, interact with your Jetson only via SSH. Make sure SSH access is working first.

sudo systemctl set-default multi-user.target
sudo apt remove --purge -y ubuntu-desktop gnome-shell gdm3
sudo apt autoremove -y
sudo reboot

Want the desktop back later:

sudo apt install -y ubuntu-desktop gdm3
sudo systemctl set-default graphical.target
sudo reboot