AWS EC2
نشر rtCloud على نسخة AWS EC2 باستخدام سكريبت بيانات المستخدم aws-ec2.sh.
استخدم 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
- انقر Launch instance
- AMI: Ubuntu Server 22.04 LTS (64-bit x86)
- نوع النسخة:
t3.medium(4 GB RAM) أو أعلى - زوج المفاتيح: اختر أو أنشئ مفتاحاً للوصول عبر SSH
- إعدادات الشبكة: أنشئ أو اختر Security Group (انظر أدناه)
- التفاصيل المتقدمة ← User data ← الصق محتوى السكريبت الكامل
- انقر Launch instance
الخطوة 3 — إعداد Security Group
افتح هذه المنافذ في Security Group للنسخة:
| المنفذ | البروتوكول | المصدر | الغرض |
|---|---|---|---|
| 22 | TCP | IP الخاص بك | وصول SSH |
| 80 | TCP | 0.0.0.0/0 | HTTP (يُعاد توجيهه إلى HTTPS بواسطة Nginx) |
| 443 | TCP | 0.0.0.0/0 | HTTPS |
| 3838 | TCP | 0.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.