Przejdź do głównej zawartości

Pubsub Provider

Pubsub Provider to usługa dla operatorów, która uruchamia zgodny z Bitsocial zapasowy przekaźnik pubsub wraz z dołączonym węzłem Kubo. Nowoczesne klienty Bitsocial, takie jak 5chan i Seedit, domyślnie korzystają w przeglądarce z czystej sieci peer-to-peer, ale ta usługa pozostaje przydatna jako opcjonalna ścieżka awaryjna dla użytkowników, którzy wyłączają P2P w przeglądarce, oraz dla operatorów, którzy chcą udostępniać publiczne punkty końcowe zapewniające zgodność.

Co uruchamia​

  • publiczne proxy HTTP dla tras pubsub, bramy, dostawcy nazw i delegowanego routingu
  • dołączony węzeł Kubo z włączonym pubsub
  • dostawcę delegowanego routingu HTTP pod adresem /routing/v1/providers
  • metryki Prometheus pod adresem /metrics
  • opcjonalny dostęp z uwierzytelnianiem podstawowym do pełnego API RPC Kubo

Porty​

Wartości domyślne dobrano tak, aby Pubsub Provider mógł działać na tym samym VPS obok Bitsocial Seeder bez konfliktu portu swarm.

PrzeznaczenieDomyślnieUwagi
Publiczne proxy HTTP8000 w aplikacji, 80 na hoście DockerUstaw PUBSUB_PROVIDER_HTTP_PORT, aby zmienić port hosta.
Swarm Kubo4002 TCP/UDPOmija domyślny port swarm Kubo 4001 używany przez seeder.
API Kubo5001 tylko lokalnieUżywane wewnętrznie przez proxy.
Brama Kubo8080 tylko lokalnieUżywana wewnętrznie przez proxy.

Konfiguracja Docker​

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

Sprawdź logi:

docker logs --follow pubsub-provider

Przetestuj proxy:

curl http://127.0.0.1/commit-hash

Aktualizacja​

Jeśli wcześniej używałeś starego obrazu latest, wymuś na Compose odtworzenie kontenera z przypiętego opublikowanego obrazu:

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

Sprawdź, czy działa poprawiony obraz:

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

W logach powinien pojawić się wpis using Kubo binary at /app/bin/ipfs, a nie powinno być wpisu downloading ipfs.

Praca razem z Bitsocial Seeder​

Jeśli na tym samym hoście działa też bitsocial-seeder, zostaw Pubsub Provider na porcie swarm 4002 lub innym porcie różnym od 4001:

PUBSUB_PROVIDER_SWARM_PORT=4002 docker compose up -d

Pozwala to uniknąć konfliktu portów, który powstaje, gdy dwa węzły Kubo próbują zająć TCP/UDP 4001.

Konfiguracja​

Najczęściej nadpisywane zmienne środowiskowe:

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=

Traktuj tę usługę jako przekaźnik awaryjny, a nie zamiennik P2P w przeglądarce. Gdy sieć potrzebuje dedykowanej przepustowości do wyszukiwania peerów, prowadź infrastrukturę trackerów osobno.