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
| Model | RAM | GPU | AI Performance | Price |
|---|---|---|---|---|
| Jetson Nano (4GB) | 4GB | 128 CUDA cores | Entry-level | ~$150 |
| Jetson Orin Nano | 8GB | 1024 CUDA cores | Mid-range (recommended) | ~$250 |
| Jetson Orin NX | 16GB | 2048 CUDA cores | High-end | ~$900 |
| Jetson AGX Orin | 64GB | 2048 CUDA cores | Enterprise | ~$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)
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