May 15

Pipe network TESTNET. Как установить POP ноду на Ubuntu 24

ОБРАТИТЕ ВНИМАНИЕ НУЖНА ИМЕННО Ubuntu 24

ОС: Ubuntu 24.04

CPU: минимум 4 ядра

RAM: минимум 16 ГБ

Диск: SSD с минимум 100 ГБ свободного пространства

МОЖНО И ПОДЕШЕВЛЕ, ПРОСТО В КОНФИГЕ УКАЗЫВАЙТЕ 50-60% от мощностей

Сеть: стабильное подключение с пропускной способностью 1 Гбит/с или выше
я предпочитаю на xorek.cloud

Открываем VPS

🧰 Установка необходимых зависимостей

sudo apt update && sudo apt install -y \
  curl \
  screen \
  nano \
  ufw \
  jq \
  psmisc \
  net-tools \
  git \
  build-essential \
  libssl-dev \
  ca-certificates \
  lsof \
  unzip \
  wget

2. Сетевые настройки (для производительности):

cat > /etc/sysctl.d/99-popcache.conf << EOL
net.ipv4.ip_local_port_range = 1024 65535
net.core.somaxconn = 65535
net.ipv4.tcp_low_latency = 1
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOL

sysctl -p /etc/sysctl.d/99-popcache.conf
cat > /etc/security/limits.d/popcache.conf << EOL
*    hard nofile 65535
*    soft nofile 65535
EOL

Перезагружаем Сервер

reboot

4. Настройка firewall (если требуется):

ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

📥 Загрузка и установка бинарного файла

mkdir -p /opt/popcache
mkdir -p /opt/popcache/logs
cd /opt/popcache

Скачайте последнюю версию бинарного файла

wget https://download.pipe.network/static/pop-v0.3.0-linux-x64.tar.gz
tar -xzf pop-v0.3.0-linux-x64.tar.gz
chmod 755 /opt/popcache/pop
pop --help

Видим вот такой вывод значит все прошло успешно
Pipe Network CDN PoP Cache Node
Usage:
./pop Start the PoP node
./pop create-config [path] Create a default config file (default: config.json)
./pop --regenerate-hw-signature Regenerate the hardware signature
./pop -h, --help Show this help message

⚙️ Шаг 3: Настройка конфигурации

  1. Создайте файл конфигурации:
./pop create-config
nano /opt/popcache/config.json

{
"pop_name": "Ваше имя POP (любое)",
"pop_location": "Страна где стоит Сервер",
"invite_code": "ВАШ ИНВАЙТ КОД",
"server": {
"host": "0.0.0.0",
"port": 443,
"http_port": 80,
"workers": 4
},
"cache_config": {
"memory_cache_size_mb": 8192, !!!УКАЗАТЬ 50-60% от вашей оперативки
"disk_cache_path": "./cache",
"disk_cache_size_gb": 100, !!!УКАЗАТЬ 50-60% от вашего диска
"default_ttl_seconds": 86400,
"respect_origin_headers": true,
"max_cacheable_size_mb": 1024
},
"api_endpoints": {
"base_url": "https://dataplane.pipenetwork.com"
},
"identity_config": {
"node_name": "ЛЮБОЕ ИМЯ НОДЫ",
"name": "ВАШЕ ИМЯ",
"email": "ВАША ПОЧТА НА КОТОРУЮ ПРИШЛА ССЫЛКА НА ТЕСТНЕТ",
"website": "https://your-website.com",
"discord": "ЮСЕРНЕЙМ В ДИСКОРДЕ",
"telegram": "ТЕЛЕГРАМ ЮЗЕРНЕЙМ",
"solana_pubkey": "АДРЕС КОШЕЛЬКА СОЛАНА (ПУБЛИЧНЫЙ)"
}
}

Вводим свои значения затем CTRL+O -> Enter -> CTR+X

Сохраните файл CTRL+O -> Enter -> CTR+X и выполните:

Создание systemd-сервиса:

nano /etc/systemd/system/popcache.service

Сохраняем access_token и refresh_token в надежное место

[Unit]
Description=POP Cache Node
After=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/popcache
ExecStart=/opt/popcache/pop
Restart=always
RestartSec=5
LimitNOFILE=65535
StandardOutput=append:/opt/popcache/logs/stdout.log
StandardError=append:/opt/popcache/logs/stderr.log
Environment=POP_CONFIG_PATH=/opt/popcache/config.json

[Install]
WantedBy=multi-user.target

Запуск и проверка:

systemctl daemon-reload
systemctl enable popcache
systemctl start popcache
systemctl status popcache
journalctl -u popcache -f 

Просмотр логов:

tail -f /opt/popcache/logs/stdout.log
tail -f /opt/popcache/logs/stderr.log

если видим такую историю

systemctl stop popcache
nano /opt/popcache/config.json

удаляем из кофига

"invite_code": "ВАШ ИНВАЙТ КОД",

ждем 2 часa

systemctl start popcache 
systemctl enable popcache

🔍 Полезные команды:

  • Проверка состояния:

curl http://localhost/health

В браузере:

https://<your-vps-ip>/state

check state curl -sk https://localhost/state && echo -e "\n"

check metrics curl -sk https://localhost/metrics && echo -e "\n"

check health curl -sk https://localhost/health && echo -e "\n"