একটি সম্প্রদায় শুরু করুন
প্রতিটি সম্প্রদায় তার নিজস্ব নোডে চলে: একটি ছোট সার্ভার যা সেই সম্প্রদায়ের সদস্য, পোস্ট এবং খতিয়ান ধারণ করে। স্থানীয় কেউ এটি পরিচালনা করেন। আপনার শহর বা এলাকায় যদি এখনও কোনো নোড না থাকে, তবে সেটি আপনি হতে পারেন।
একটি সম্প্রদায় চালাতে কী লাগে
প্রায় আধ ঘণ্টা সময় লাগবে, যদি আপনি নির্দেশাবলী অনুসরণ করতে পারেন। প্রথমে জানার মতো ছয়টি বিষয়:
- এতে কত খরচ হয়। সফটওয়্যারটি বিনামূল্যে। এটি বাড়িতে চালু রাখা যায় এমন একটি অতিরিক্ত কম্পিউটারে (একটি মিনি পিসি, একটি NAS, বা একটি ৬৪-বিট সিস্টেমযুক্ত রাস্পবেরি পাই), অথবা মাসে কয়েক ডলারের (প্রায় US$6) একটি ছোট ভাড়া করা সার্ভারে চলে।
- কে এটি হোস্ট করে। আপনি করেন, আপনার নিজের মেশিনে বা ভাড়া করা মেশিনে। এর জন্য কখনোই beanpool.org-এর প্রয়োজন হয় না: আপনার নিজস্ব ওয়েব ঠিকানা কাজ করে।
- আপনার দায়িত্ব কী। আপনার সদস্যদের কাছ থেকে রিপোর্ট আপনার কাছে আসে। একটি রিকভারি কোডসহ ডেটা ফোল্ডারের ব্যাকআপ রাখা আপনার দায়িত্ব। দুজন মালিক রাখুন। সার্ভার চালু এবং আপডেট রাখুন।
- আপনি যা কখনোই দেখতে পাবেন না। আপনার সদস্যদের সরাসরি বার্তাগুলি।
- প্রথমে Docker। নিচের কমান্ড ব্লকের আগে মেশিনটিতে Docker ইনস্টল থাকা প্রয়োজন; একটি নতুন ভাড়া করা সার্ভারে এটি থাকে না।
- ফোনে পৌঁছানো যায় এমন একটি ঠিকানা। ফোন ইন্টারনেটে কেবল https-এর মাধ্যমেই একটি সম্প্রদায়ে পৌঁছায়। একটি পাবলিক আইপি ঠিকানা এবং ৮০ ও ৪৪৩ পোর্ট খোলা থাকা একটি ভাড়া করা সার্ভারে, সেই আইপি ঠিকানাই যথেষ্ট: আপনার সার্ভার কোনো Cloudflare অ্যাকাউন্ট ছাড়াই এর জন্য নিজস্ব সার্টিফিকেট পায়, এবং আপনার নিজস্ব ডোমেইনের ক্ষেত্রেও একই। বাড়িতে, বা কোনো খোলা পোর্ট ছাড়া, ক্লেইম আপনাকে .beanpool.org দিয়ে শেষ হওয়া একটি বিনামূল্যের নাম দেয়, আপনার সার্ভার নিজেই পরিচালিত একটি টানেলের মাধ্যমে। একটি সাধারণ http:// ঠিকানা কেবল হোম নেটওয়ার্কে কাজ করে।
আপনি যা দেখাশোনা করেন
আপনি এবং আপনার নিযুক্ত অ্যাডমিনরা হলেন আপনার সম্প্রদায়ের মডারেটর: রিপোর্টগুলি আপনার কাছে আসে। আপনার সদস্যদের ডেটা আপনার মেশিনে থাকে, তাই আপনি এর ব্যাকআপ রাখেন। আপনি উদ্যোগের আলোচনা এবং ইভেন্ট চ্যাট পড়তে পারেন; আপনি সরাসরি বার্তা পড়তে পারবেন না। আপনি প্রথম সদস্যদের আমন্ত্রণ জানান এবং তাঁরা বাকিদের আমন্ত্রণ জানান।
সেটিংস অ্যাপ
আপনার নোডের ব্রাউজারে নিজস্ব সেটিংস অ্যাপ থাকে। সেখান থেকে আপনি আপনার সম্প্রদায়ের নামকরণ করেন, একজন মালিক ও অ্যাডমিনদের নিয়োগ করেন যাঁরা নিজস্ব কী দিয়ে সাইন ইন করেন, QR আমন্ত্রণ প্রিন্ট করেন, ডিস্কের অবস্থা পর্যবেক্ষণ করেন, একটি পাবলিক ওয়েব ঠিকানা বা টানেল বেছে নেন এবং এমন কোনো সদস্যকে সাহায্য করেন যিনি তাঁর ফোন এবং 12টি শব্দ উভয়ই হারিয়ে ফেলেছেন, একটি এককালীন কোডের মাধ্যমে নতুন ফোনে তাঁর অ্যাকাউন্টে ফিরে আসতে যা আপনি সশরীরে নিশ্চিত করেন।
প্রথম চালুর মুহূর্ত থেকেই ব্যক্তিগত
একটি সম্প্রদায়ের তালিকা, ম্যাপ, বার্তা এবং ব্যালেন্স এর নোড চালু হওয়ার মুহূর্ত থেকেই এর সদস্যদের জন্য সংরক্ষিত; আলাদা করে চালু করার কিছু নেই। অ্যাকাউন্ট ছাড়া কেউ এর ঠিকানা খুললে তাকে বিশ্ব সম্প্রদায়ে নির্দেশিত করা হয়, যেখানে তারা দেখতে পারে তাদের কাছাকাছি কী আছে এবং যোগ দেওয়ার অনুরোধ করতে পারে।
প্রতিবেশী সম্প্রদায়ের সাথে সংযোগ
দুটি সম্প্রদায় একে অপরের সাথে যুক্ত হতে সম্মত হতে পারে যাতে তাদের সদস্যরা নিজেদের মধ্যে বাণিজ্য করতে পারেন। শিম কখনোই তার নিজ সম্প্রদায় ছেড়ে যায় না: প্রতিটি জোড়া একটি চলমান হিসাব রাখে যে একটি সম্প্রদায় অন্যটির কাছে কী পরিমাণ ঋণী, এবং প্রতিটি পক্ষ নিজস্ব সীমা নির্ধারণ করে। উভয় অপারেটর এটি চালু না করা পর্যন্ত সংযোগ বন্ধ থাকে, এবং এটি এখনও প্রাথমিক পর্যায়ে রয়েছে: এটি তৈরি করা হয়েছে, ওয়েব অ্যাপে এর স্ক্রিন রয়েছে এবং এটি কেবল আমাদের নিজস্ব দুটি পরীক্ষামূলক সম্প্রদায়ের মধ্যে চেষ্টা করা হয়েছে, সরাসরি চলমান কোনো সম্প্রদায়ের মধ্যে কখনোই নয়।
আপনার ঠিকানা
পেস্ট করার আগেই এটি বেছে নিন এবং মেলানোর জন্য শেষ লাইনটি পরিবর্তন করুন। আপনি যদি ইতিমধ্যে পেস্ট করে থাকেন, তবে এর প্রশ্নগুলিতে Enter চাপুন, তারপর শেষ লাইনটি আবার চালান: দাবি কোডটি একটি ফোনের জন্য অপেক্ষা করে। একটি ভাড়া করা সার্ভার যাতে একটি পাবলিক আইপি ঠিকানা এবং ৮০ ও ৪৪৩ পোর্ট খোলা রয়েছে: --ip এবং এর আইপি ঠিকানা যুক্ত করুন, যেমন beanpool claim --ip 203.0.113.7। আপনার সার্ভার পোর্ট ৮০-র মাধ্যমে Let's Encrypt থেকে সেই ঠিকানার জন্য নিজস্ব সার্টিফিকেট পায় এবং ফোনগুলি https://203.0.113.7-এ এতে পৌঁছায়। বাড়িতে থাকা একটি কম্পিউটার, বা কোনো পোর্ট খোলা নেই: এটি যেমন আছে তেমনই রাখুন। এটি একটি বিনামূল্যের নামের প্রথম অংশের জন্য জিজ্ঞাসা করে (yourtown.beanpool.org-এর জন্য শুধু yourtown লিখুন; Enter চাপলে এড়িয়ে যাবে), যা আপনার সার্ভার নিজেই পরিচালিত একটি টানেলের মাধ্যমে যুক্ত হয়, এবং এটি সক্রিয় হতে তিন মিনিট পর্যন্ত অপেক্ষা করে। আপনার নিজস্ব ডোমেইন: সার্ভারের আইপি ঠিকানায় এর জন্য একটি A রেকর্ড নির্দেশ করুন, ৮০ এবং ৪৪৩ পোর্ট খুলুন এবং --address https://your.domain যুক্ত করুন। একটি নাম সার্ভার পরিবর্তনের পরেও টিকে থাকে; কোনো নম্বর টিকে থাকে না: আপনি পরে সেটিংসে একটি নাম যোগ করতে পারেন এবং যে সদস্যরা আইপি ঠিকানা ব্যবহার করেন তাঁদের কাজ অব্যাহত থাকে। সেটিংসে পরে বেছে নিতে, --no-name যোগ করুন। একটি সাধারণ http:// ঠিকানা কেবল হোম নেটওয়ার্কে কাজ করে: ফোন ইন্টারনেটে এটি প্রত্যাখ্যান করে এবং ক্লেইম আপনাকে সতর্ক করে। BeanPool প্রকল্পের ঠিকানা পরিষেবা বন্ধ থাকলেও ক্লেইম কাজ করে।
ইনস্টল করুন
তারপর, Docker ইনস্টল করা সেই মেশিনে, এই একটি ব্লক পেস্ট করুন। এটি কম্পোজ ফাইল সংগ্রহ করে, নোড যে নেটওয়ার্ক ব্যবহার করে তা তৈরি করে, প্রকাশিত ইমেজ (Intel/AMD বা ARM64) পুল করে, এটি চালু করে, সার্ভার তার এককালীন ক্লেইম কোড তৈরি না করা পর্যন্ত অপেক্ষা করে (রাস্পবেরি পাইতে ধীরগতির প্রথম শুরুর জন্য পাঁচ মিনিট পর্যন্ত), এবং এটি ক্লেইম করে। এটি শুরু হওয়ার আগে কনফিগার করার কিছু নেই।
git clone https://github.com/beanpool-org/beanpool.git && cd beanpool
docker network create beanpool-shared
docker compose pull
docker compose up -d
echo "Waiting for the server to make its claim code (up to 5 minutes)..."
for i in $(seq 60); do docker compose exec -T beanpool-node test -f /data/claim-code.txt </dev/null 2>/dev/null && break; sleep 5; done
docker compose exec -T beanpool-node test -f /data/claim-code.txt </dev/null 2>/dev/null || echo "No claim code after 5 minutes. The server's log says why: docker compose logs beanpool-node"
docker compose exec beanpool-node beanpool claim
শেষ লাইনটি: beanpool claim
- কোড এবং QR। এটি একটি এককালীন দাবি কোড এবং একটি QR কোড দেখায়। আপনার ফোনের ক্যামেরা দিয়ে QR কোডটি স্ক্যান করুন, অথবা BeanPool খুলুন, আপনার সম্প্রদায় খুঁজুন-এর অধীনে সার্ভারের ঠিকানা টাইপ করুন এবং দাবি করুন-এ আলতো চাপুন। সেই ফোনটি মালিক হয়ে যায়।
- সেটিংস। আপনার ঠিকানা (বা সার্ভারের নিজস্ব ঠিকানা) এবং তার পরে /settings খুলুন। সেটআপ উইজার্ড আপনার সম্প্রদায়ের নামকরণ করে, আপনাকে দ্বিতীয় একজন মালিক যুক্ত করতে বলে এবং তিনটি প্রতিষ্ঠাকালীন আমন্ত্রণ তৈরি করে। নোড আইডেন্টিটি (Node Identity)-এর অধীনে ম্যাপে আপনার অবস্থান সেট করুন যাতে আশেপাশের মানুষ আপনাকে খুঁজে পেতে পারেন।
যদি ব্লকটি বলে No claim code after 5 minutes, অথবা beanpool claim বলে This community has no claim code waiting, তবে সার্ভারটি চালু হওয়া এখনও শেষ হয়নি: docker compose logs beanpool-node দেখায় এটি কোন পর্যায়ে রয়েছে। লগ যখন বলে যে সম্প্রদায়ের এখনও কোনো মালিক নেই এবং একটি ক্লেইম কোড রয়েছে, তখন শেষ লাইনটি আবার চালান। সম্পূর্ণ ধাপগুলি অপারেটর ম্যানুয়ালের প্রথমবারের সেটআপ-এ রয়েছে।
প্রস্তাবিত: Docker আপডেট হলেও আপনার সম্প্রদায় চালু রাখুন
ধাপটি অপারেটর ম্যানুয়ালের "Updates and health" পৃষ্ঠায় আছে। যে এআই সহকারী ইনস্টল করে, সে সবসময় এই ধাপটি করে (এআই সহকারী দিয়ে আপনার সার্ভার সেট আপ করা)।
GitHub-এ দেখুন →