স্কিপ করে মূল কন্টেন্ট এ যান

Pubsub Provider

Pubsub Provider হলো একটি অপারেটর পরিষেবা, যা দিয়ে একটি বান্ডেল করা Kubo নোডসহ Bitsocial-সামঞ্জস্যপূর্ণ pubsub ফলব্যাক রিলে চালানো যায়। 5chan ও Seedit-এর মতো আধুনিক Bitsocial ক্লায়েন্টগুলো ডিফল্টভাবে ব্রাউজারেই বিশুদ্ধ পিয়ার-টু-পিয়ার নেটওয়ার্কিং ব্যবহার করে, তবু যাঁরা ব্রাউজার P2P বন্ধ রাখেন তাঁদের জন্য ঐচ্ছিক ফলব্যাক পথ হিসেবে, কিংবা যেসব অপারেটর পাবলিক সামঞ্জস্য এন্ডপয়েন্ট রাখতে চান তাঁদের জন্য এই পরিষেবাটি কাজে লাগে।

এটি যা চালায়

  • pubsub, গেটওয়ে, name-provider ও ডেলিগেটেড রাউটিং রুটের জন্য একটি পাবলিক HTTP প্রক্সি
  • pubsub সক্রিয় করা একটি বান্ডেল করা Kubo নোড
  • /routing/v1/providers-এ একটি ডেলিগেটেড HTTP রাউটিং প্রোভাইডার
  • /metrics-এ Prometheus মেট্রিক্স
  • সম্পূর্ণ Kubo RPC API-তে ঐচ্ছিক বেসিক-অথ অ্যাক্সেস

পোর্ট

ডিফল্ট মানগুলো এমনভাবে বেছে নেওয়া হয়েছে, যাতে Pubsub Provider একই VPS-এ Bitsocial Seeder-এর পাশাপাশি swarm-পোর্ট সংঘর্ষ ছাড়াই চলতে পারে।

উদ্দেশ্যডিফল্টমন্তব্য
পাবলিক HTTP প্রক্সি8000 অ্যাপ, 80 Docker হোস্টহোস্ট পোর্ট বদলাতে PUBSUB_PROVIDER_HTTP_PORT সেট করুন।
Kubo swarm4002 TCP/UDPseeder-এর ডিফল্ট Kubo swarm পোর্ট 4001 এড়িয়ে চলে।
Kubo API5001 শুধু লোকালপ্রক্সি অভ্যন্তরীণভাবে ব্যবহার করে।
Kubo গেটওয়ে8080 শুধু লোকালপ্রক্সি অভ্যন্তরীণভাবে ব্যবহার করে।

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=

প্রোভাইডারটি ব্রাউজার P2P-এর বিকল্প হিসেবে নয়, একটি ফলব্যাক রিলে হিসেবে ব্যবহার করুন। নেটওয়ার্কের যখন নিবেদিত পিয়ার-আবিষ্কারের সক্ষমতা দরকার, তখন ট্র্যাকার অবকাঠামো আলাদাভাবে চালিয়ে যান।