استخدم aws-ec2.sh كسكريبت User Data عند تشغيل نسخة EC2. تعمل السكريبت تلقائياً عند التشغيل الأول.

تنزيل السكريبت: aws-ec2.sh


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

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

  # --- مطلوب ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin"                       # غيّرها بعد تسجيل الدخول الأول

# --- النطاق + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"

# --- Keycloak المدمج ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}"  # الافتراضي ADMIN_PASSWORD
  
الحقلمطلوبالوصف
PROJECT_IDنعميُستخدم كاسم قاعدة البيانات ومعرّف عميل Keycloak. أحرف صغيرة، بدون مسافات.
ADMIN_PASSWORDلاكلمة مرور مسؤول التطبيق وكلمة مرور مسؤول Keycloak. الافتراضي adminغيّرها بعد تسجيل الدخول الأول.
DOMAINلانطاقك لـ HTTPS. اتركه فارغاً للوضع HTTP فقط.
LETSENCRYPT_EMAILنعم (إذا ضُبط DOMAIN)البريد الإلكتروني لإشعارات Let’s Encrypt.
EMBED_KEYCLOAKلاtrue لنشر Keycloak المدمج (يتطلب 4 GB RAM).

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


الخطوة 2 — تشغيل نسخة EC2

في وحدة تحكم AWS EC2:

  1. انقر Launch instance
  2. AMI: Ubuntu Server 22.04 LTS (64-bit x86)
  3. نوع النسخة: t3.medium (4 GB RAM) أو أعلى
  4. زوج المفاتيح: اختر أو أنشئ مفتاحاً للوصول عبر SSH
  5. إعدادات الشبكة: أنشئ أو اختر Security Group (انظر أدناه)
  6. التفاصيل المتقدمةUser data ← الصق محتوى السكريبت الكامل
  7. انقر Launch instance

الخطوة 3 — إعداد Security Group

افتح هذه المنافذ في Security Group للنسخة:

المنفذالبروتوكولالمصدرالغرض
22TCPIP الخاص بكوصول SSH
80TCP0.0.0.0/0HTTP (يُعاد توجيهه إلى HTTPS بواسطة Nginx)
443TCP0.0.0.0/0HTTPS
3838TCP0.0.0.0/0وصول مباشر لـ Shiny

لا تفتح المنفذ 3306 (MySQL) — يجب ألا يكون متاحاً للعموم أبداً.


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

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

  Type  : A
Name  : myapp
Value : <instance-public-ip>
TTL   : 300
  

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

  ssh ubuntu@<instance-ip>
tail -f /var/log/rtcloud-setup.log
  

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

عند اكتمال الإعداد، يعرض السجل ملخصاً مع عنوان URL التطبيق وبيانات الاعتماد. سجّل الدخول باسم المستخدم admin وكلمة المرور admin، ثم غيّر كلمة مرورك فوراً.


بعد النشر

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

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

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

  docker compose -f /opt/rtcloud/docker-compose.production.yml ps
  

تعيين Elastic IP (اختياري)

إذا أوقفت النسخة وشغّلتها، سيتغير IP العام. للحفاظ على IP ثابت، خصّص Elastic IP واربطه بالنسخة في وحدة تحكم EC2.

هل كانت هذه الصفحة مفيدة؟