This script automates the installation and configuration of the Pipe POP caching node, making it easy to set up and manage your node with Surrealine's toolkit.
- Downloads and installs the latest Pipe POP binary
- Creates a global
pop
command accessible from anywhere - Sets up proper permissions and capabilities
- Configures firewall rules automatically
- Creates system-wide configuration files
- Sets up proper directory structure
- Configures port bindings (80, 443, 8003)
- Establishes proper file permissions
- Automatically registers new nodes with Surrealine's referral code
- Ensures proper node configuration
- Sets up initial node status
- Sets proper file permissions
- Configures capabilities for port binding
- Establishes secure firewall rules
graph TD
A[Start Installation] --> B{Is pop installed?}
B -->|No| C[Download pop]
B -->|Yes| J[Update existing installation]
C --> D[Create global wrapper]
D --> E[Set up Solana wallet]
E --> F[Ask for referral registration]
F -->|Yes| G[Register with referral code]
F -->|No| H[Skip referral]
G --> I[Set up capabilities]
H --> I[Set up capabilities]
I --> K[Configure firewall]
K --> L[Refresh node]
L --> M[Perform quick test]
M --> N[Installation complete]
J --> O[Update wrapper]
O --> P[Update capabilities]
P --> Q[Update firewall]
Q --> R[Refresh node]
R --> S{Is node registered?}
S -->|Yes| T[Ask re-register with referral]
T -->|Yes| U[Re-register with referral]
T -->|No| V[Skip re-registration]
U --> W[Perform quick test]
V --> W[Perform quick test]
W --> X[Installation complete]
The script performs the following steps:
-
Initial Check
- Verifies if pop is already installed
- Checks for existing configuration files
-
Binary Installation
- Downloads the latest Pipe POP binary
- Makes the binary executable
- Creates necessary directories
- Moves the binary to
/opt/pop
-
Global Command Setup
- Creates a wrapper script at
/usr/local/bin/pop
- Ensures configuration file availability
- Makes the command globally accessible
- Creates a wrapper script at
-
Solana Wallet Setup
- Prompts for Solana wallet public key
- Sets up wallet for receiving token payments
- Saves wallet configuration
-
Referral Registration
- Asks if user wants to register with Surrealine's referral code
- Registers node with referral code if requested
- For existing nodes: Offers option to re-register with referral code
-
Node Registration
- Registers the node with Surrealine's referral code (only for new nodes)
- Sets up initial node status
- Configures node settings
-
Final Setup
- Refreshes the node configuration
- Displays completion message
- Provides support information
-
Quick Test
- Tests egress connectivity
- Verifies node status
- Checks node points
- Ensures everything is working correctly
The script offers referral registration options:
-
For new installations:
- Prompts to register with Surrealine's referral code
- Explains benefits of joining the referral program
- Allows skipping if preferred
-
For existing nodes:
- Detects if node is already registered
- Offers option to re-register with Surrealine's referral code
- Preserves existing configuration if re-registration is skipped
During installation, you'll be prompted to enter your Solana wallet public key. This is optional but recommended if you want to:
- Receive token payments for your node's services
- Track your earnings
- Manage node rewards
If you don't have a Solana wallet, you can:
- Skip the wallet setup during installation
- Set up a wallet later using:
pop --pubKey <YOUR_WALLET>
If a node is already running:
- The script will detect the existing installation
- It will update the global command wrapper
- It will refresh the node's capabilities and firewall rules
- It will skip the registration process (since the node is already registered)
- It will refresh the node configuration
This ensures that your existing node configuration is preserved while updating to the latest version and maintaining all security settings.
- Navigate to your node's working directory:
cd /path/to/your/node
cd /var/lib/pop # Example location
- Run the installation script:
./install-pop.sh
- Linux system with sudo access
- Internet connection for downloads
- UFW firewall (for port configuration)
- At least 4GB of RAM
- At least 100GB of disk space
This project is open source. Contributions are welcome!
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Thank you for using the Pipe POP Node Management Toolkit from Preterag!