0xfnzero
solana-rpc-install
Shell

Solana RPC node installer for Ubuntu with Jito Solana/Agave validator, Yellowstone gRPC, NVMe disk tuning, snapshots, and monitoring scripts.

Last updated Jul 8, 2026
170
Stars
81
Forks
0
Issues
+1
Stars/day
Attention Score
90
Language breakdown
No language data available.
โ–ธ Files click to expand
README

โšก Solana RPC Install

Production-ready Solana RPC node deployment in 3 simple steps

Deploy battle-tested Solana RPC nodes with stable, proven configurations and source compilation from GitHub.

Release License GitHub stars GitHub forks

Bash Solana Ubuntu RPC Node

ไธญๆ–‡ | English | Website | Telegram | Discord


What This Project Provides

solana-rpc-install is a focused installer for running a Solana RPC node on Ubuntu with Jito Solana / Agave validator, Yellowstone gRPC, systemd service management, NVMe disk mounting, snapshot bootstrap, and production-oriented Linux tuning.

It is built for operators who need a practical Solana mainnet RPC deployment guide for trading bots, indexing pipelines, DEX event streaming, MEV infrastructure, or private RPC workloads without hand-assembling every validator, Geyser, storage, and monitoring setting.

Included Scripts

| Script | Purpose | |--------|---------| | 1-prepare.sh | Mount NVMe data disks, create Solana directories, and apply Linux system optimizations | | 2-install-jito-validator.sh | Build and install Jito Solana / Agave validator from source | | 3-start.sh | Download snapshots, install the systemd service, and start the RPC node | | validator.sh | Auto-select the right validator profile for 128GB, 192GB, 256GB, or 512GB+ RAM | | yellowstone-config.json | Production-tested Yellowstone gRPC Geyser configuration | | performance-monitor.sh, get_health.sh, catchup.sh | Monitor node health, memory, performance, and sync progress |

๐ŸŽฏ System Requirements

Minimum Configuration:

  • CPU: AMD Ryzen 9 9950X (or equivalent)
  • RAM: 128 GB minimum (256 GB recommended)
  • Storage: 1-3x NVMe SSDs (flexible configuration, script auto-adapts)
- 1 disk: System disk only (basic setup) - 2 disks: System + 1 data disk (recommended, best cost-performance) - 3 disks: System + 2 data disks (optimal performance) - 4+ disks: System + 3 data disks (accounts/ledger/snapshot separated)
  • OS: Ubuntu 22.04/24.04
  • Network: High-bandwidth connection (1 Gbps+)

๐Ÿš€ Quick Start

Three-Step Installation

# Switch to root user
sudo su -

Clone repository to /root

cd /root git clone https://github.com/0xfnzero/solana-rpc-install.git cd solana-rpc-install

Step 1: Mount disks + System optimization

bash 1-prepare.sh

(Optional) Verify mount configuration

bash verify-mounts.sh

Step 2: Build Jito Solana from source (15-30 minutes)

bash 2-install-jito-validator.sh

Press Enter to install v4.1.1, or enter a specific version (e.g., v4.1.0-rc.1)

Supports stable, rc, and beta Jito tags

Step 3: Download snapshot and start node

bash 3-start.sh
โ„น๏ธ Installation Method
This installation uses source compilation from GitHub to build Jito Solana validator. This ensures you get the complete agave-validator binary with full MEV support required for RPC nodes.

โš ๏ธ Critical: Memory Management Details (Required for 128GB Systems)

๐Ÿ“Œ Why Swap Might Be Needed?
- Memory peaks can exceed 128GB during initial sync (115-130GB)
- Without swap, node may crash with OOM
- Swap provides safety buffer during sync phase
- After sync stabilizes, memory usage drops to 85-105GB

๐Ÿ”ง Swap Management (Optional for 128GB Systems)

Add Swap (If needed during sync)

# Only if you see high memory pressure during sync
cd /root/solana-rpc-install
sudo bash add-swap-128g.sh

Script automatically checks:

โœ“ Only adds swap if system RAM < 160GB

โœ“ Skips if swap already exists

โœ“ Adds 32GB swap with swappiness=10 (minimal usage)

Remove Swap (After sync completes)

Once synchronization completes, memory usage stabilizes at 85-105GB, and you can remove swap for optimal performance:

# Check current memory usage
systemctl status sol | grep Memory

If memory peak < 105GB, safe to remove swap

cd /root/solana-rpc-install sudo bash remove-swap.sh

๐Ÿ“Š Decision Guidelines

| Memory Peak | Recommended Action | |-------------|-------------------| | < 105GB | โœ… Can remove swap for optimal performance | | 105-110GB | โš ๏ธ Recommended to keep swap as buffer | | > 110GB | ๐Ÿ”ด Must keep swap to prevent OOM |

Note: If memory issues occur after removing swap, you can always add it back:

cd /root/solana-rpc-install sudo bash add-swap-128g.sh


๐Ÿš€ Next Steps: Install Jito ShredStream

After completing your RPC node installation, you can enhance performance with Jito ShredStream:

ShredStream provides low-latency block streaming for Jito MEV infrastructure.

๐Ÿ“Š Monitoring & Management

# Real-time logs
journalctl -u sol -f

Performance monitoring

bash /root/performance-monitor.sh snapshot

Health check (available after 30 minutes)

/root/get_health.sh

Sync progress

/root/catchup.sh

โœจ Key Features

๐Ÿ”ง Battle-Tested Configuration Philosophy

All configurations are based on proven production deployments with thousands of hours of uptime:

  • Conservative Stability > Aggressive Optimization
  • Simple Defaults > Complex Customization
  • Proven Performance > Theoretical Gains

๐Ÿ“ฆ System Optimizations (No Reboot Required)

  • ๐ŸŒ TCP Congestion Control: Westwood (classic, stable algorithm)
  • ๐Ÿ”ง TCP Buffers: 12MB (conservative, low-latency optimized)
  • ๐Ÿ’พ File Descriptors: 1M limit (sufficient for production)
  • ๐Ÿ›ก๏ธ Memory Management: swappiness=30 (balanced approach)
  • ๐Ÿ”„ VM Settings: Conservative dirty ratios for stability

โšก Yellowstone gRPC Configuration

  • โœ… Compression Enabled: gzip + zstd (reduces memory copy overhead)
  • ๐Ÿ“ฆ Conservative Buffers: 50M snapshot, 200K channel (fast processing)
  • ๐ŸŽฏ Proven Defaults: System-managed Tokio, default HTTP/2 settings
  • ๐Ÿ›ก๏ธ Resource Protection: Strict filter limits prevent abuse

๐Ÿš€ Deployment Features

  • ๐Ÿ“ฆ Source Compilation Installation:
- ๐Ÿ”ง Jito Solana from official GitHub (15-30 min) - โœ… Complete validator binary with full MEV support - ๐ŸŽฏ 100% compliant with Jito Foundation standards
  • ๐Ÿง  Intelligent Configuration Selection: Auto-detects system RAM and selects optimal validator configuration
- TIER 1 (128GB): Conservative settings for 128-159GB systems - TIER 2 (192GB): Balanced configuration for 192-223GB systems - TIER 3 (256GB): High-performance for 256-383GB systems - TIER 4 (512GB+): Maximum capacity for enterprise deployments
  • ๐Ÿ”„ Automatic Disk Management: Smart disk detection and mounting
  • ๐Ÿ›ก๏ธ Production Ready: Systemd service with dynamic memory limits and OOM protection
  • ๐ŸŒ Network Resilience: Enhanced version verification with graceful degradation
  • ๐Ÿ“Š Monitoring Tools: Performance tracking and health checks included

๐Ÿ”Œ Network Ports

| Port | Protocol | Purpose | |------|----------|---------| | 8899 | HTTP | RPC endpoint | | 8900 | WebSocket | Real-time subscriptions | | 10900 | gRPC | High-performance data streaming | | 8000-8030 | TCP/UDP | Validator communication (dynamic) |

๐Ÿ“ˆ Performance Metrics

  • Snapshot Download: Network-dependent (typically 200MB - 1GB/s)
  • Memory Usage: 60-110GB during sync, 85-105GB stable (optimized for 128GB systems)
  • Sync Time: 1-3 hours (from snapshot)
  • CPU Usage: Multi-core optimized (32+ cores recommended)
  • Stability: Proven configuration with >99.9% uptime in production

๐Ÿ› ๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   Solana RPC Node Stack                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Jito Solana Validator (v4.1.x)                         โ”‚
โ”‚  โ”œโ”€ Installation: Source compilation from GitHub        โ”‚
โ”‚  โ”‚  โ€ข agave-validator with full MEV support             โ”‚
โ”‚  โ”‚  โ€ข 100% Jito Foundation compliant (15-30 min)        โ”‚
โ”‚  โ”œโ”€ Yellowstone gRPC auto-matched to Solana version     โ”‚
โ”‚  โ”œโ”€ RPC HTTP/WebSocket (Port 8899/8900)                 โ”‚
โ”‚  โ””โ”€ Accounts & Ledger (Optimized RocksDB)               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  System Optimizations (Battle-Tested)                   โ”‚
โ”‚  โ”œโ”€ TCP: 12MB buffers, Westwood congestion control      โ”‚
โ”‚  โ”œโ”€ Memory: swappiness=30, balanced VM settings         โ”‚
โ”‚  โ”œโ”€ File Descriptors: 1M limit, sufficient for prod     โ”‚
โ”‚  โ””โ”€ Stability: Conservative defaults, proven in prod    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Yellowstone gRPC (Open-Source Tested Config)           โ”‚
โ”‚  โ”œโ”€ Compression: gzip+zstd enabled (fast processing)    โ”‚
โ”‚  โ”œโ”€ Buffers: 50M snapshot, 200K channel (low latency)   โ”‚
โ”‚  โ”œโ”€ Defaults: System-managed, no over-optimization      โ”‚
โ”‚  โ””โ”€ Protection: Strict filters, resource limits         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Infrastructure                                          โ”‚
โ”‚  โ”œโ”€ Systemd Service (Auto-restart, graceful shutdown)   โ”‚
โ”‚  โ”œโ”€ Multi-disk Setup (System/Accounts/Ledger)           โ”‚
โ”‚  โ””โ”€ Monitoring Tools (Performance/Health/Catchup)       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿงช Configuration Philosophy

Why Conservative Configuration?

Based on extensive production testing, we discovered:

  • Compression Enabled = Lower Latency
- Even on localhost, compressed data transfers faster in memory - CPU overhead is minimal, latency reduction is significant
  • Smaller Buffers = Faster Processing
- 50M snapshot vs 250M: Less queue delay, faster throughput - 200K channel vs 1.5M: Reduced "buffer bloat" latency
  • System Defaults = Better Stability
- No custom Tokio threads: Let system auto-manage - No custom HTTP/2 settings: Defaults are already optimized - Fewer custom parameters = Fewer potential issues
  • Proven in Production
- Thousands of hours of uptime - Tested across different hardware configurations - Battle-tested under real-world load

๐Ÿ“š Backup Configuration

If you need the aggressive optimization config for specific use cases:

  • Extreme config backed up as yellowstone-config-extreme-backup.json
  • Accessible in repository history (commit 6cc31d9)

๐Ÿ“š Documentation

  • Installation Guide: You're reading it!
  • Mount Strategy: See MOUNT_STRATEGY.md
  • Troubleshooting: Check logs with journalctl -u sol -f
  • Configuration: All optimizations included by default
  • Monitoring: Use provided helper scripts
  • Optimization Details: See YELLOWSTONE_OPTIMIZATION.md

๐Ÿค Support & Community

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


โญ If this project helps you, please give us a Star!

Made with โค๏ธ by fnzero

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท 0xfnzero/solana-rpc-install ยท Updated daily from GitHub