✳️ 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
pop
binary from Pipe Network:curl -L -o pop "https://dl.pipecdn.app/v0.2.6/pop"
-
Assign executable permission to the
pop
binary: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
pop
binary to the installation directory:sudo mv -f ~/pop /opt/pop/
sudo chmod +x /opt/pop/pop -
Move the
node_info.json
file 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.service
systemd 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.service
The 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 8003
You 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 8003
You 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! 🚀