تستخدم DigitalOcean سكريبتات User Data التي تعمل تلقائياً عند التشغيل الأول. تملأ متغيرات الإعداد في أعلى السكريبت، ثم تلصق السكريبت بالكامل عند إنشاء Droplet.

على عكس Linode StackScripts، لا توجد واجهة نموذج في DigitalOcean — يجب تعديل السكريبت مباشرةً قبل اللصق.

تنزيل السكريبت: digitalocean-droplet-keycloak-embed.sh


Keycloak المدمج (موصى به)

استخدم digitalocean-droplet-keycloak-embed.sh للإعداد الأبسط مع SSO مدمج.

الخطوة 1 — ملء الإعداد

افتح السكريبت وعدّل كتلة CONFIGURATION في الأعلى:

  # --- مطلوب ---
PROJECT_ID="rtsurvey"                  # معرّف فريد لمشروعك (بدون مسافات)
ADMIN_PASSWORD="admin"                 # كلمة مرور مسؤول التطبيق وKeycloak — غيّرها بعد تسجيل الدخول الأول

# --- النطاق + SSL ---
DOMAIN="myapp.example.com"            # نطاقك — يجب أن يشير سجل DNS A هنا
PROJECT_URL=""                         # اتركه فارغاً ما لم يكن خلف Cloudflare/وكيل
LETSENCRYPT_EMAIL="admin@example.com" # البريد الإلكتروني لإشعارات Let's Encrypt

# --- اختياري ---
STATA_ENABLED="false"
TZ="Asia/Ho_Chi_Minh"
  
الحقلمطلوبالوصف
PROJECT_IDنعميُستخدم كاسم قاعدة البيانات ومعرّف عميل Keycloak. أحرف صغيرة، بدون مسافات.
ADMIN_PASSWORDلاكلمة مرور تسجيل الدخول الإداري للتطبيق ووحدة تحكم Keycloak الإدارية. الافتراضي adminغيّرها بعد تسجيل الدخول الأول.
DOMAINنعماسم نطاقك. يجب أن يشير سجل DNS A إلى IP الـ Droplet.
LETSENCRYPT_EMAILنعمعنوان البريد الإلكتروني لإشعارات شهادة Let’s Encrypt.
PROJECT_URLلاتجاوز عنوان URL العام. اتركه فارغاً لاستخدام DOMAIN. مفيد خلف Cloudflare.

الأمان: جميع كلمات المرور افتراضها admin. غيّرها فوراً بعد تسجيل دخولك الأول.

الخطوة 2 — إنشاء Droplet

في لوحة تحكم DigitalOcean:

  1. انقر CreateDroplets
  2. اختر Ubuntu 22.04 LTS كصورة
  3. اختر Basic، 4 GB RAM / 2 vCPUs أو أعلى
  4. انتقل إلى Advanced Options ← ضع علامة على Add Initialization scripts
  5. الصق محتوى السكريبت الكامل في منطقة النص
  6. انقر Create Droplet

الخطوة 3 — إضافة سجل DNS

بينما يعمل Droplet على التشغيل، أضف سجل A في مزود DNS الخاص بك:

  Type  : A
Name  : myapp          (أو @ للنطاق الجذر)
Value : <droplet-ip>
TTL   : 300
  

الخطوة 4 — مراقبة التقدم

اتصل بـ Droplet عبر SSH وشاهد السجل:

  ssh root@<droplet-ip>
tail -f /var/log/rtcloud-setup.log
  

تطبع السكريبت IP الخادم في البداية — أضف سجل DNS فور رؤيته.

الخطوة 5 — الوصول إلى التطبيق

عند اكتمال الإعداد، يعرض السجل ملخصاً:

  ============================================================
 rtCloud deployment complete! (Embedded Keycloak)
============================================================
 App URL   : https://myapp.example.com
 Admin     : admin / admin
 Keycloak  : https://myapp.example.com/auth/admin

 !! SECURITY: All passwords default to 'admin'.
    Change them immediately after first login.
============================================================
  

افتح https://myapp.example.com في متصفحك وسجّل الدخول باسم المستخدم admin وكلمة المرور admin.

غيّر كلمة مرورك فوراً بعد تسجيل الدخول عبر Settings في القائمة العلوية اليمنى.


بعد النشر

تغيير كلمة مرور

اتصل بـ Droplet عبر SSH، وعدّل .env، وأعد تشغيل الحاوية المتأثرة:

  nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
  

تحديث النطاق

إذا عيّنت نطاقاً مختلفاً بعد النشر، حدّث PROJECT_URL في .env:

  nano /opt/rtcloud/.env   # حدّث PROJECT_URL=
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
  

عرض جميع الحاويات

  docker compose -f /opt/rtcloud/docker-compose.production.yml ps
  
هل كانت هذه الصفحة مفيدة؟