بدء مجتمع
يعمل كل مجتمع على خادمه الخاص: خادم صغير يحتوي على أعضاء ذلك المجتمع ومنشوراته وسجله. يديره شخص محلي. وإذا لم تكن بلدتك أو منطقتك تمتلك خادماً بعد، فيمكنك أن تكون أنت هذا الشخص.
ما الذي يتطلبه تشغيل مجتمع
حوالي نصف ساعة، إذا كان بإمكانك اتباع الخطوات. ستة أمور يجب معرفتها أولاً:
- التكلفة. البرنامج مجاني. ويعمل على كمبيوتر إضافي يبقى قيد التشغيل في المنزل (كمبيوتر مصغر Mini PC، أو وحدة تخزين شبكي NAS، أو جهاز Raspberry Pi بنظام 64 بت)، أو على خادم مستأجر صغير مقابل بضعة دولارات شهرياً (حوالي 6 دولارات أمريكية).
- الجهة المستضيفة. أنت المستضيف، على جهازك الخاص أو على الخادم الذي تستأجره. وهو لا يحتاج أبداً إلى beanpool.org: عنوان الويب الخاص بك يعمل تماماً.
- المسؤوليات التي تتحملها. تصلك البلاغات الواردة من أعضائك. ومجلد البيانات مسؤوليتك لنسخه احتياطياً، مع رمز استعادة. احتفظ بمالكين اثنين. واحرص على بقاء الخادم قيد التشغيل ومحدثاً.
- ما لا تراه أبداً. الرسائل المباشرة لأعضائك.
- تثبيت Docker أولاً. يجب تثبيت Docker على الجهاز قبل تشغيل الأوامر أدناه؛ فالخادم المستأجر حديثاً لا يحتوي عليه.
- عنوان يمكن للهواتف الوصول إليه. تصل الهواتف إلى المجتمع عبر الإنترنت فقط باستخدام https. وعلى خادم مستأجر بعنوان IP عام ومنفذين 80 و443 مفتوحين، يكفي عنوان IP هذا: يحصل خادمك على شهادته الخاصة له، دون الحاجة إلى حساب Cloudflare، والأمر نفسه ينطبق على نطاقك الخاص. وفي المنزل، أو في حال عدم وجود منافذ مفتوحة، تمنحك عملية المطالبة اسماً مجانياً ينتهي بـ .beanpool.org عبر نفق تشفير يشغله خادمك بنفسه. أما عنوان http:// العادي فيعمل فقط على الشبكة المنزلية.
ما تشرف عليه وتتولى مسؤوليته
أنت والمشرفون الذين تعينهم هم مشرفو مجتمعك: تصلكم البلاغات. وتوجد بيانات أعضائك على جهازك، لذا يتعين عليك الاحتفاظ بنسخ احتياطية منها. يمكنك قراءة مناقشات المؤسسات ومحادثات الفعاليات؛ لكن لا يمكنك قراءة الرسائل المباشرة. أنت تدعو الأعضاء الأوائل، وهم يدعون الباقين.
تطبيق الإعدادات
يأتي خادمك مزوداً بتطبيق إعدادات خاص به في المتصفح. يمكنك من خلاله تسمية مجتمعك، وتعيين مالك ومشرفين يسجلون الدخول بمفاتيحهم الخاصة، وطباعة دعوات برمز QR، ومراقبة حالة القرص، واختيار عنوان ويب عام أو نفق اتصال، ومساعدة عضو فقد هاتفه وكلماته الـ 12 معاً في العودة إلى حسابه على هاتف جديد، عبر رمز استخدام لمرة واحدة تؤكده شخصياً.
خاص من أول تشغيل
قوائم المجتمع وخريطته ورسائله وأرصدته مخصصة لأعضائه منذ اللحظة الأولى لتشغيل خادمه؛ ولا يوجد شيء يتطلب التفعيل. والشخص الذي يفتح عنوانه دون أن يكون لديه حساب يتم توجيهه إلى المجتمع العالمي، حيث يمكنهم رؤية ما هو متاح بالقرب منهم وطلب الانضمام.
الربط مع مجتمع مجاور
يمكن لمجتمعين الاتفاق على الربط بينهما ليتمكن أعضاؤهما من التبادل التجاري معاً. ولا تغادر فاصوليا موطنها أبداً: يحتفظ كل زوج من المجتمعات بسجل مستمر لما يدين به أحد المجتمعين للآخر، ويحدد كل طرف حده الخاص. الربط معطل ما لم يقم المشغلان بتفعيله معاً، وهو لا يزال في مراحله الأولى: إنه مبني بالفعل، بشاشاته في تطبيق الويب، وقد جُرِّب فقط بين اثنين من مجتمعاتنا التجريبية، ولم يُجرَّب بين مجتمعات حية فعلية.
عنوانك
اختره قبل أن تلصق، وعدّل السطر الأخير ليتطابق معه. إذا كنت قد قمت باللصق بالفعل، فاضغط Enter عند أسئلته، ثم شغّل السطر الأخير مرة أخرى: رمز المطالبة ينتظر هاتفاً. خادم مستأجر بعنوان IP عام ومنفذين 80 و443 مفتوحين: أضف --ip وعنوان IP الخاص به، كما في beanpool claim --ip 203.0.113.7. يحصل خادمك على شهادته الخاصة لهذا العنوان من Let's Encrypt عبر المنفذ 80، وتصل إليه الهواتف على https://203.0.113.7. كمبيوتر في المنزل، أو بلا منافذ مفتوحة: اتركه كما هو. سيطلب الجزء الأول من اسم مجاني (اكتب فقط yourtown للحصول على yourtown.beanpool.org؛ والضغط على Enter للتخطي)، ويتم الوصول إليه عبر نفق يشغله خادمك بنفسه، وينتظر حتى ثلاث دقائق ليصبح متاحاً. نطاقك الخاص: وجّه سجل A له إلى عنوان IP الخاص بالخادم، وافتح المنفذين 80 و443، وأضف --address https://your.domain. الاسم يظل صالحاً حتى عند تغيير الخادم؛ أما الرقم فلا: يمكنك إضافة اسم لاحقاً في الإعدادات، وسيستمر الأعضاء الذين يستخدمون عنوان IP في العمل بشكل طبيعي. للاختيار لاحقاً في الإعدادات، أضف --no-name. عنوان http:// العادي يعمل فقط على الشبكة المنزلية: ترفضه الهواتف على الإنترنت، وستحذرك عملية المطالبة من ذلك. وحتى لو كانت خدمة العناوين لمشروع BeanPool متوقفة، فإن عملية المطالبة ستظل تعمل.
التثبيت
بعد ذلك، على ذلك الجهاز المثبت عليه Docker، الصق هذه الكتلة الواحدة من الأوامر. ستقوم بجلب ملف compose، وإنشاء الشبكة التي يستخدمها الخادم، وسحب الصورة المنشورة (Intel/AMD أو ARM64)، وتشغيلها، والانتظار حتى ينشئ الخادم رمز المطالبة لمرة واحدة (حتى خمس دقائق، لبداية تشغيل بطيئة على Raspberry Pi)، ثم المطالبة به. لا يوجد شيء يتطلب التهيئة قبل البدء.
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. يساعدك معالج الإعداد في تسمية مجتمعك، ويطلب منك إضافة مالك ثانٍ، وينشئ ثلاث دعوات تأسيسية. حدد موقعك على الخريطة ضمن هوية الخادم حتى يتمكن الأشخاص القريبون منك من العثور عليك.
إذا ظهرت عبارة 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 ←