دليل الاستضافة الذاتية
يوضح هذا الدليل لمسؤولي النظام خطوات نشر نظام Acugnito ERP على خادم افتراضي خاص مستقل (VPS) أو على بنية تحتية داخلية باستخدام Docker.
نوفر حزمة نشر مستقلة (عادةً أرشيف .zip أو .tar.gz) تحتوي على جميع إعدادات التشغيل والوكيل العكسي وقوالب البيئة اللازمة.
المتطلبات المسبقة
قبل البدء في النشر، تأكد من استيفاء الخادم المستهدف للمتطلبات التالية:
- نظام التشغيل: توزيعة Linux حديثة (مثل Ubuntu 22.04 LTS أو Debian 11).
- Docker: تثبيت Docker Engine (الإصدار 20.10 أو أحدث).
- Docker Compose: تثبيت إضافة Docker Compose (الإصدار 2.10 أو أحدث).
- اسم النطاق: اسم نطاق صالح يشير إلى عنوان IP العام للخادم (مثل
erp.yourcompany.com). - شهادات SSL: شهادات SSL صالحة من Let's Encrypt أو من جهة إصدار شهادات أخرى.
- رمز الوصول: رمز وصول شخصي من GitHub مقدَّم لك (أو رمز مكافئ لسجل الحاويات) لسحب صور Docker الخاصة.
هيكل حزمة النشر
بعد فك ضغط أرشيف النشر (client-standalone.zip)، ستجد الهيكل التالي:
client-standalone/
├── docker-compose.yaml # The primary orchestration manifest
├── .env.example # Template for environment variables
├── nginx/
│ └── nginx.conf # Reverse proxy configuration
└── envoy/
├── envoy.yaml # API Gateway routing rules
└── certs/ # TLS certificates for the Envoy proxy
الخطوة 1: إعداد البيئة
انسخ الملف .env.example لإنشاء ملف الإعداد الفعلي .env:
cp .env.example .env
عدّل الملف .env لتعيين كلمة مرور آمنة لقاعدة البيانات:
DB_USERNAME=postgres
DB_PASSWORD=A_Very_Secure_Randomized_Password_Here
الخطوة 2: إعداد SSL والوكيل العكسي
يعمل الملف المرفق nginx/nginx.conf كوحدة تحكم في الدخول، إذ يتولى إعادة التوجيه من HTTP إلى HTTPS وتمرير الطلبات إلى خدمات الواجهة الأمامية وEnvoy.
افتراضيًا، يتوقع إعداد Nginx وجود شهادات SSL في المسار /etc/letsencrypt/live/erp.demo.acugnito.com/.
- أنشئ شهادات SSL باستخدام Certbot.
- عدّل
nginx/nginx.confواستبدلerp.demo.acugnito.comباسم نطاقك الفعلي. - تأكد من أن المسارين
ssl_certificateوssl_certificate_keyيشيران بدقة إلى مجلد Let's Encrypt لديك.
الخطوة 3: التشغيل الأولي
بعد اكتمال الإعداد، انتقل إلى المجلد client-standalone وشغّل النظام باستخدام Docker Compose:
docker compose pull
docker compose up -d
سيُنزّل Docker الصور اللازمة، ويجهّز قاعدة البيانات، ويُنشئ ناقل الرسائل، ويشغّل خدمات النظام الأساسية والواجهة الأمامية.
لمتابعة عملية بدء التشغيل:
docker compose logs -f erp_core
الخطوة 4: تفعيل الترخيص
يتطلب النظام ترخيصًا صالحًا مرتبطًا بالجهاز ليعمل.
- احصل على ملف
license.licمن مدير حسابك. - الملف
docker-compose.yamlمهيأ مسبقًا لربط معرّفات عتاد الخادم (/sys/class/dmi/id) داخل الحاوية لتوليد بصمة آمنة للجهاز. - بعد تشغيل النظام، ارفع ملف
license.licأو ضعه في مكانه. ولأننا نربطLicensing__LicenseFilePath=/var/erp/data/license.licبوحدة التخزين الدائمةerp_data، فسيستمر تفعيل الترخيص بعد إعادة تشغيل الحاويات والنظام.
الصيانة والتحديثات
لتحديث النظام عند توفر إصدار جديد، نفّذ الأوامر التالية داخل مجلد النشر:
docker compose pull
docker compose up -d
سيعيد Docker إنشاء الحاويات بإصدارات الصور الجديدة بسلاسة، مع الاحتفاظ بجميع بياناتك في وحدات التخزين الدائمة (erp_data وerp_backups).