تثبيت وحدة التحكم
أمر واحد على خادم VPS جديد بنظام Debian أو Ubuntu. نحو خمس دقائق، معظمها انتظارًا للشهادة.
قبل أن تبدأ
- خادم VPS بعنوان IPv4 عام. نواتان مخصّصتان وأربعة غيغابايت من الذاكرة تكفي لبضع مئات من الأجهزة.
- اسم DNS للوحة التحكم، مثل
mesh.example.com، يشير إلى ذلك العنوان. إذا كان الاسم على Cloudflare، فأبقِ السجل على DNS only (السحابة الرمادية): إذ يكسر الوسيط اتصالات gRPC التي يستخدمها العملاء. - المنفذان
443(TCP وUDP) و3478(UDP) قابلان للوصول من الإنترنت. - صلاحية الجذر (root).
شغّل المُثبِّت
curl -fsSL https://tzxmesh.com/install.sh | sh
يسأل عن النطاق وبريد المالك، ثم:
- يثبّت Docker Engine وإضافة Compose من مستودع Docker إن لم تكونا موجودتين؛
- يكتب في
/opt/tzxmesh/app: ملف compose، وإعدادات الوكيل العكسي، وإعدادات وحدة التحكم، وملف.envيحوي أسرارًا مولّدة حديثًا (بالصلاحية 600)؛ - يشغّل Caddy ووحدة التحكم ولوحة التحكم وPostgres؛ ويحصل Caddy على شهادة TLS؛
- يطبع عنوان لوحة التحكم وكلمة المرور الأولية للمالك.
في التثبيت غير التفاعلي، مرّر الإجابتين كمتغيّرين:
TZX_DOMAIN=mesh.example.com [email protected] sh install.sh
تفضّل قراءة السكربت أولًا؟ افتح install.sh. إنه قصير، وكل ما يكتبه ينتهي في مجلد واحد على خادمك.
أول تسجيل دخول
- افتح
https://mesh.example.comوسجّل الدخول ببريد المالك وكلمة المرور المطبوعة. - غيّر كلمة المرور.
- انتقل إلى Settings → Authentication وفعّل Peer Approval (الموافقة على الأجهزة). من الآن فصاعدًا يبقى كل جهاز جديد قيد الانتظار في Warden حتى تسمح له بالدخول.
ما الذي تحصل عليه
| الخدمة | الحاوية | ملاحظات |
|---|---|---|
| وكيل عكسي + TLS | tzxmesh-caddy | يوجّه واجهة API وتسجيل الدخول وgRPC إلى وحدة التحكم، وكل ما عدا ذلك إلى لوحة التحكم |
| وحدة التحكم | tzxmesh-server | الإدارة والإشارة والترحيل وSTUN ومزوّد الهوية المدمج في عملية واحدة |
| لوحة التحكم | tzxmesh-dashboard | تطبيق ويب ثابت |
| قاعدة البيانات | tzxmesh-postgres | قاعدتان: واحدة لوحدة التحكم وأخرى لمزوّد الهوية |
إذا حدث خلل
- لا توجد شهادة. يجب أن يشير النطاق إلى عنوان IP العام لهذا الخادم قبل أن يتمكن Caddy من إثبات الملكية. تحقّق بالأمر
dig +short mesh.example.com، ثمdocker compose logs caddyداخل/opt/tzxmesh/app. - الأجهزة تتصل عبر الترحيل فقط. المنفذ UDP 3478 أو منافذ WireGuard محجوبة في مكان ما؛ والمسارات المباشرة تحتاج إليها.
- إعادة تشغيل المُثبِّت تُبقي أسرارك وبياناتك كما هي؛ فهي تعيد كتابة الملفات المولّدة فقط.