Ga naar hoofdinhoud

Pubsub Provider

Pubsub Provider is een operatordienst waarmee je een Bitsocial-compatibele pubsub-fallbackrelay draait met een meegeleverde Kubo-node. Moderne Bitsocial-clients zoals 5chan en Seedit werken standaard puur peer-to-peer in de browser, maar deze dienst blijft nuttig als optioneel terugvalpad voor gebruikers die browser-P2P uitschakelen, en voor operators die publieke compatibiliteitseindpunten willen aanbieden.

Wat de dienst draait

  • een publieke HTTP-proxy voor pubsub-, gateway-, name-provider- en delegated-routingroutes
  • een meegeleverde Kubo-node met pubsub ingeschakeld
  • een delegated HTTP-routingprovider op /routing/v1/providers
  • Prometheus-metrics op /metrics
  • optionele toegang met basic auth tot de volledige Kubo RPC-API

Poorten

De standaardwaarden zijn zo gekozen dat Pubsub Provider naast Bitsocial Seeder op dezelfde VPS kan draaien zonder conflict op de swarmpoort.

DoelStandaardOpmerkingen
Publieke HTTP-proxy8000 app, 80 Docker-hostStel PUBSUB_PROVIDER_HTTP_PORT in om de hostpoort te wijzigen.
Kubo-swarm4002 TCP/UDPVermijdt de standaard Kubo-swarmpoort 4001 van de seeder.
Kubo-API5001 alleen lokaalWordt intern door de proxy gebruikt.
Kubo-gateway8080 alleen lokaalWordt intern door de proxy gebruikt.

Docker-opzet

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

Logs bekijken:

docker logs --follow pubsub-provider

De proxy testen:

curl http://127.0.0.1/commit-hash

Upgraden

Als je eerder de oude latest-image draaide, dwing Compose dan om de container opnieuw aan te maken vanaf de vastgezette gepubliceerde image:

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

Controleer of de gecorrigeerde image draait:

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

De logs horen using Kubo binary at /app/bin/ipfs te bevatten en mogen downloading ipfs niet bevatten.

Draaien naast Bitsocial Seeder

Als dezelfde host ook bitsocial-seeder draait, houd Pubsub Provider dan op swarmpoort 4002 of een andere poort dan 4001:

PUBSUB_PROVIDER_SWARM_PORT=4002 docker compose up -d

Zo voorkom je het poortconflict dat ontstaat wanneer twee Kubo-nodes allebei TCP/UDP 4001 proberen te binden.

Configuratie

Veelgebruikte omgevingsvariabelen om te overschrijven:

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=

Gebruik de provider als terugvalrelay, niet als vervanging voor browser-P2P. Blijf de trackerinfrastructuur apart draaien wanneer het netwerk toegewijde capaciteit voor peer-discovery nodig heeft.