β³οΈ Pipe Network Node
This step-by-step guide will walk you through the process of installing, configuring, and running a Pipe Network PoP Node on your VPS. It covers both a quick installation method and how to set up the node using systemd for better management.
π### VPS Requirementsπ
Before starting, ensure your VPS meets the following requirements for optimal performance:
- RAM: Minimum of 4GB (configurable), more RAM is better for higher rewards.
- Disk Storage: At least 100GB free disk space (configurable), but 200-500GB is the sweet spot for optimal performance.
- Internet: Ensure your VPS has 24/7 internet connectivity for uninterrupted operation.
- CPU: 2 vCPUs (or more recommended for better performance).
π«β Step 1: Prepare the VPSβ
-
Update your system packages:
sudo apt update && sudo apt upgrade -y -
Install UFW to manage the firewall:
sudo apt install ufw -y -
Install
netcat(optional but recommended for testing external connections):sudo apt install netcat -y -
Open the required ports (8003, 443, and 80):
sudo ufw allow 8003/tcp
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw enable
π«β Step 2: Download the Pipe PoP Binary (Quick Start)β
-
Download the compiled
popbinary from Pipe Network:curl -L -o pop "https://dl.pipecdn.app/v0.2.6/pop" -
Assign executable permission to the
popbinary:chmod +x pop -
Create a directory for the node's cache:
mkdir download_cache
π«β Step 3: Start the Pipe PoP Node (Quick Start)β
-
Run the node (without systemd):
sudo ./pop \
--ram 8 \ # RAM in GB (adjust to your VPS capacity)
--max-disk 500 \ # Max disk usage in GB (adjust as necessary)
--cache-dir /data \ # Cache location (choose a valid path)
--pubKey <KEY> # Solana public keyNote:
- Replace
<KEY>with your Solana public key. You can retrieve this from your Solana wallet (e.g., Phantom, Backpack). - RAM is set to 8GB in this example. Adjust this according to the resources available on your VPS.
- Max disk usage is set to 500GB; you can change it based on your setup.
- Cache location should be a valid directory on your system, such as
/data, or the directory you created earlier (download_cache). - Solana Public Key is needed to link your node with your Solana wallet and is required for receiving rewards.
- Replace
-
If you prefer not to use systemd, running the node with sudo will allow it to bind to ports 80 and 443, starting immediately.
π«β Step 4: Node Configuration & Monitoringβ
Monitor Metricsβ
-
View the nodeβs metrics:
./pop --status -
Check points (Note: Points are not active yet):
./pop --points-route
Referral System (Optional)β
-
Generate a referral:
./pop --gen-referral-route -
Sign up with a referral code (if applicable):
sudo ./pop --signup-by-referral-route <CODE>
π«β Step 5: Run Pipe PoP Node with Systemd (Recommended)β
For better management, we recommend running the node using systemd, which ensures it runs in the background and automatically restarts after a reboot.
Create a Dedicated User for the Nodeβ
-
Create the service user (
pop-svc-user):sudo useradd -r -m -s /sbin/nologin pop-svc-user -d /home/pop-svc-user 2>/dev/null || true
Create Required Directoriesβ
-
Create necessary directories for the node:
sudo mkdir -p /opt/pop
sudo mkdir -p /var/lib/pop
sudo mkdir -p /var/cache/pop/download_cache
Move and Set Permissions for Filesβ
-
Move the
popbinary to the installation directory:sudo mv -f ~/pop /opt/pop/
sudo chmod +x /opt/pop/pop -
Move the
node_info.jsonfile to/var/lib/pop/if available:sudo mv -f ~/node_info.json /var/lib/pop/ 2>/dev/null || true -
Set ownership for the files:
sudo chown -R pop-svc-user:pop-svc-user /var/lib/pop
sudo chown -R pop-svc-user:pop-svc-user /var/cache/pop
sudo chown -R pop-svc-user:pop-svc-user /opt/pop
Create the Systemd Service Fileβ
-
Create the
pop.servicesystemd unit file:sudo tee /etc/systemd/system/pop.service << 'EOF'
[Unit]
Description=Pipe POP Node Service
After=network.target
Wants=network-online.target
[Service]
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
User=pop-svc-user
Group=pop-svc-user
ExecStart=/opt/pop/pop \
--ram=8 \
--pubKey <YOUR_SOLANA_PUBKEY> \
--max-disk 500 \
--cache-dir /var/cache/pop/download_cache \
--no-prompt
Restart=always
RestartSec=5
LimitNOFILE=65536
LimitNPROC=4096
StandardOutput=journal
StandardError=journal
SyslogIdentifier=pop-node
WorkingDirectory=/var/lib/pop
[Install]
WantedBy=multi-user.target
EOFReplace
<YOUR_SOLANA_PUBKEY>with your Solana public key. -
Create a symlink for easy access:
ln -sf /var/lib/pop/node_info.json ~/node_info.json -
Set up an alias for convenience:
grep -q "alias pop='cd /var/lib/pop && /opt/pop/pop'" ~/.bashrc || echo "alias pop='cd /var/lib/pop && /opt/pop/pop'" >> ~/.bashrc && source ~/.bashrc
Enable and Start the Serviceβ
-
Reload systemd, enable the service, and start the node:
sudo systemctl daemon-reload
sudo systemctl enable pop.service
sudo systemctl start pop.service -
Check the status of the node:
sudo systemctl status pop.serviceThe service should show as active (running).
π«β Step 6: Monitoring the Nodeβ
-
Monitor the nodeβs logs:
sudo journalctl -u pop.service -f -
Check if the node is listening on port 8003:
sudo netstat -tulnp | grep 8003You should see:
tcp 0 0 0.0.0.0:8003 0.0.0.0:* LISTEN <pop_pid>/pop -
Verify external connection (check if port 8003 is accessible):
nc -zv your-vps-ip 8003You should see:
Connection to your-vps-ip 8003 port [tcp/*] succeeded!
π«β Step 7: Troubleshooting Common Issuesβ
1. Check the Firewall (UFW) Configurationβ
Ensure that the necessary ports are open on your VPS:
sudo ufw status
Expected output should show the allowed ports:
Status: active
8003/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
If ports are missing, re-add them:
sudo ufw allow 8003/tcp
sudo
ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw reload
Then restart the service:
sudo systemctl restart pop.service
sudo systemctl status pop.service
2. Check if the Node is Accessible Externallyβ
If you're having trouble connecting to your VPS from outside, make sure that no additional security group or network configuration (from your VPS provider) is blocking these ports.
For most VPS, ports 8003, 443, and 80 should be directly reachable once the firewall is configured correctly. Test this by checking if the port is open:
nc -zv your-vps-ip 8003
Replace your-vps-ip with your actual VPS IP address. If the port is accessible, you should see:
Connection to your-vps-ip 8003 port [tcp/*] succeeded!
If this command fails, double-check your VPS provider's firewall settings (such as security groups) and make sure the ports are allowed.
π«β Step 8: Use Pipe Network Dashboard for Monitoringβ
You can track your nodeβs performance on the Pipe Network Dashboard:
- Visit Pipe Network Node Lookup.
- Enter your Node ID (found in logs after starting the node) to view your node's current status.
π₯π₯Final Thoughtsπ₯π₯β
- Node ID: This unique ID identifies your node. Keep it safe for future use.
- Solana Wallet Address: Register your node with a Solana wallet to ensure you can receive rewards.
- Systemd Service: Using systemd ensures your node runs continuously, even after server reboots.
β β β By following this guide, your Pipe PoP node will be properly set up and monitored, with automatic startup and easy management! π
