Перейти до основного вмісту

Pubsub Provider

Pubsub Provider — це операторська служба для запуску сумісного з Bitsocial резервного ретранслятора pubsub із вбудованим вузлом Kubo. Сучасні клієнти Bitsocial, як-от 5chan і Seedit, типово працюють у браузері через чисту однорангову мережу, проте ця служба лишається корисною як необов’язковий резервний шлях для користувачів, які вимкнули одноранговий режим у браузері, або для операторів, яким потрібні публічні точки входу для сумісності.

Що саме запускається​

  • публічний проксі HTTP для маршрутів pubsub, шлюзу, постачальника імен і делегованої маршрутизації
  • вбудований вузол Kubo з увімкненим pubsub
  • провайдер делегованої маршрутизації HTTP за адресою /routing/v1/providers
  • метрики Prometheus за адресою /metrics
  • необов’язковий доступ із базовою автентифікацією до повного API Kubo RPC

Порти​

Типові значення підібрано так, щоб Pubsub Provider міг працювати на тому самому VPS поруч із Bitsocial Seeder без конфлікту swarm-портів.

ПризначенняТипове значенняПримітки
Публічний проксі HTTP8000 у застосунку, 80 на хості DockerЗмініть PUBSUB_PROVIDER_HTTP_PORT, щоб задати інший порт хоста.
Swarm Kubo4002 TCP/UDPНе перетинається з типовим swarm-портом Kubo 4001 у seeder.
API Kubo5001, лише локальноВикористовується проксі всередині.
Шлюз Kubo8080, лише локальноВикористовується проксі всередині.

Налаштування Docker​

git clone https://github.com/bitsocialnet/pubsub-provider.git
cd pubsub-provider
docker compose pull
docker compose up -d

Перегляньте журнали:

docker logs --follow pubsub-provider

Перевірте проксі:

curl http://127.0.0.1/commit-hash

Оновлення​

Якщо раніше ви запускали старий образ latest, змусьте Compose перестворити контейнер із закріпленого опублікованого образу:

git pull
docker compose down
docker compose pull
docker compose up -d --force-recreate

Переконайтеся, що запущено виправлений образ:

docker inspect pubsub-provider --format 'image={{.Image}} restarts={{.RestartCount}}'
docker exec pubsub-provider /app/bin/ipfs version
curl http://127.0.0.1/commit-hash

У журналах має бути рядок using Kubo binary at /app/bin/ipfs і не має бути downloading ipfs.

Робота разом із Bitsocial Seeder​

Якщо на тому самому хості також працює bitsocial-seeder, залиште для Pubsub Provider swarm-порт 4002 або інший порт, відмінний від 4001:

PUBSUB_PROVIDER_SWARM_PORT=4002 docker compose up -d

Це усуває конфлікт портів, який виникає, коли два вузли Kubo намагаються зайняти TCP/UDP 4001.

Конфігурація​

Поширені перевизначення через змінні середовища:

PUBSUB_PROVIDER_HTTP_PORT=80
PUBSUB_PROVIDER_SWARM_PORT=4002
PUBSUB_PROVIDER_PORTS=8000
KUBO_RPC_URL=http://127.0.0.1:5001/api/v0
IPFS_GATEWAY_URL=http://127.0.0.1:8080
HTTP_ROUTER_URLS=https://example-router.invalid
PUBSUB_PROVIDER_ROUTING_STORE_PATH=
BASIC_AUTH_USERNAME=
BASIC_AUTH_PASSWORD=
IPFS_GATEWAY_USE_SUBDOMAINS=false
SHUTDOWN_KEY=
ETH_PROVIDER_URL=
ETH_PROVIDER_URL_WS=
SOL_PROVIDER_URL=

Використовуйте провайдера як резервний ретранслятор, а не як заміну одноранговому режиму в браузері. Продовжуйте тримати інфраструктуру трекерів окремо, коли мережі потрібна виділена потужність для виявлення вузлів.