الملحق: خيارات الاستضافة
يقدم هذا الدليل الخيارات المختلفة لاستضافة API Spring Boot الخاص بك، من التطوير المحلي إلى الإنتاج.
1. التطوير المحلي (مجاني)
للتطوير والاختبار، لا تحتاج إلى شيء آخر سوى جهاز الكمبيوتر الخاص بك.
| المكون | الحل المحلي |
|---|---|
| التطبيق | ./mvnw spring-boot:run |
| قاعدة البيانات | H2 (في الذاكرة) |
| البريد الإلكتروني | MailHog (Docker) |
# بدء MailHog لاختبار البريد الإلكتروني
docker run -d -p 1025:1025 -p 8025:8025 mailhog/mailhog
# بدء التطبيق
./mvnw spring-boot:run
# الوصول إلى API: http://localhost:8080
# مشاهدة البريد الإلكتروني: http://localhost:8025
التكلفة: 0$
2. لماذا ليس Vercel؟
Vercel ممتاز للـ frontends (React, Next.js, Vue) لكنه لا يدعم Spring Boot:
| المعيار | Vercel | Spring Boot |
|---|---|---|
| اللغات | Node.js, Python, Go | Java |
| النوع | Serverless / Frontend | Backend تقليدي |
| JVM | غير مدعوم | مطلوب |
Vercel = Frontend | Railway/Render/Heroku = Backend Java
إذا كان لديك frontend React + backend Spring Boot:
- Frontend → Vercel (مجاني)
- Backend → Railway أو Render (مجاني)
3. خيارات السحابة المجانية (محدودة)
Railway
| الميزة | التفاصيل |
|---|---|
| URL | https://railway.app |
| مجاني | 500 ساعة/شهر + 5$ رصيد |
| PostgreSQL | مشمول مجانًا |
| النشر | اتصال GitHub تلقائي |
| الصعوبة | سهل |
# النشر على Railway
# 1. توصيل مستودع GitHub الخاص بك
# 2. Railway يكتشف Spring Boot تلقائيًا
# 3. إضافة متغيرات البيئة
# 4. نشر تلقائي!
Render
| الميزة | التفاصيل |
|---|---|
| URL | https://render.com |
| مجاني | 750 ساعة/شهر (يتوقف بعد 15 دقيقة) |
| PostgreSQL | مجاني 90 يومًا |
| النشر | GitHub أو Docker |
| الصعوبة | سهل |
Fly.io
| الميزة | التفاصيل |
|---|---|
| URL | https://fly.io |
| مجاني | 3 VMs مشتركة |
| PostgreSQL | 3GB مجاني |
| النشر | CLI أو Dockerfile |
| الصعوبة | متوسط |
4. استضافة VPS رخيصة
Hostinger VPS
| الخطة | RAM | CPU | التخزين | السعر |
|---|---|---|---|---|
| KVM 1 | 4 GB | 1 vCPU | 50 GB | 4.99$/شهر |
| KVM 2 | 8 GB | 2 vCPU | 100 GB | 8.99$/شهر |
| KVM 4 | 16 GB | 4 vCPU | 200 GB | 14.99$/شهر |
مزايا Hostinger:
- أسعار تنافسية للغاية
- لوحة إدارة بسيطة
- دعم 24/7
- لقطات مجانية
التثبيت على Hostinger VPS:
# 1. الاتصال عبر SSH
ssh root@votre-ip
# 2. تثبيت Docker
curl -fsSL https://get.docker.com | sh
# 3. تثبيت Docker Compose
apt install docker-compose -y
# 4. استنساخ مشروعك
git clone https://github.com/votre-user/votre-projet.git
cd votre-projet
# 5. البدء باستخدام Docker
docker-compose up -d
DigitalOcean
| الخطة | RAM | CPU | التخزين | السعر |
|---|---|---|---|---|
| Basic | 1 GB | 1 vCPU | 25 GB | 6$/شهر |
| Basic | 2 GB | 1 vCPU | 50 GB | 12$/شهر |
| Basic | 4 GB | 2 vCPU | 80 GB | 24$/شهر |
مكافأة: 200$ رصيد مجاني للطلاب عبر GitHub Education.
Hetzner
| الخطة | RAM | CPU | التخزين | السعر |
|---|---|---|---|---|
| CX11 | 2 GB | 1 vCPU | 20 GB | 3.29€/شهر |
| CX21 | 4 GB | 2 vCPU | 40 GB | 5.83€/شهر |
| CX31 | 8 GB | 2 vCPU | 80 GB | 10.59€/شهر |
الأرخص في أوروبا!
OVH
| الخطة | RAM | CPU | التخزين | السعر |
|---|---|---|---|---|
| Starter | 2 GB | 1 vCPU | 20 GB | 3.50€/شهر |
| Essential | 4 GB | 2 vCPU | 40 GB | 6.50€/شهر |
5. Platform as a Service (PaaS)
Heroku
| الخطة | التفاصيل | السعر |
|---|---|---|
| Eco | 1000 ساعة/شهر مشتركة | 5$/شهر |
| Basic | نشط دائمًا | 7$/شهر |
| Standard | الأداء | 25$/شهر |
PostgreSQL Heroku:
- Mini: مجاني (10K صفوف)
- Basic: 9$/شهر
- Standard: 50$/شهر
Google Cloud Run
| الميزة | التفاصيل |
|---|---|
| مجاني | 2 مليون طلب/شهر |
| السعر | 0.00002$/طلب بعد |
| التوسيع | تلقائي (0 إلى N) |
مثالي إذا كان لديك حركة مرور قليلة!
6. مقارنة الأسعار
الخيارات الأرخص
| الترتيب | الخدمة | السعر/شهر | النوع |
|---|---|---|---|
| 1 | Hetzner CX11 | 3.29€ | VPS |
| 2 | OVH Starter | 3.50€ | VPS |
| 3 | Hostinger KVM 1 | 4.99$ | VPS |
| 4 | Railway | 5$ رصيد | سحابة |
| 5 | Heroku Eco | 5$ | PaaS |
| 6 | DigitalOcean | 6$ | VPS |
مجاني للطلاب
| الخدمة | عرض الطلاب |
|---|---|
| GitHub Education | DigitalOcean 200$, Heroku, إلخ. |
| Azure for Students | 100$ رصيد |
| Google Cloud | 300$ رصيد |
| AWS Educate | رصيد متغير |
7. توصيات حسب حالة الاستخدام
لمشروع طلابي
موصى به: Railway أو Render (مجاني)
بديل: Heroku Eco (5$/شهر)
لمحفظة شخصية
موصى به: Hostinger VPS (4.99$/شهر)
بديل: Hetzner (3.29€/شهر)
لشركة ناشئة / إنتاج
موصى به: DigitalOcean أو Hetzner
بديل: Google Cloud Run (الدفع حسب الاستخدام)
8. التكوين للإنتاج
متغيرات البيئة المطلوبة
# قاعدة البيانات
DB_HOST=localhost
DB_PORT=5432
DB_NAME=contactdb
DB_USER=postgres
DB_PASSWORD=motdepasse_securise
# البريد الإلكتروني (مثال مع Gmail)
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USER=votre@gmail.com
MAIL_PASSWORD=app_password
# JWT
JWT_SECRET=votre_cle_secrete_base64_256bits
JWT_EXPIRATION=86400000
# المدير
ADMIN_EMAIL=admin@votredomaine.com
مع Nginx (reverse proxy)
server {
listen 80;
server_name api.votredomaine.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
مع HTTPS (Let's Encrypt)
# تثبيت Certbot
apt install certbot python3-certbot-nginx -y
# الحصول على شهادة SSL مجانية
certbot --nginx -d api.votredomaine.com
9. قائمة التحقق من النشر
- اختيار مزود استضافة
- إنشاء الخادم/المثال
- تثبيت Docker
- تكوين متغيرات البيئة
- النشر باستخدام
docker-compose up -d - تكوين اسم النطاق (اختياري)
- تفعيل HTTPS (اختياري لكن موصى به)
- اختبار النقاط النهائية
10. نطاقات رخيصة
| المسجل | سعر .com | سعر .dev |
|---|---|---|
| Namecheap | ~9$/سنة | ~15$/سنة |
| Porkbun | ~9$/سنة | ~13$/سنة |
| Cloudflare | ~9$/سنة (تكلفة) | ~11$/سنة |
| OVH | ~10€/سنة | ~15€/سنة |
نصيحة: Cloudflare تبيع النطاقات بسعر التكلفة (بدون هامش ربح).
ملخص
| الميزانية | التوصية |
|---|---|
| 0$ | Railway / Render / محلي |
| ~5$/شهر | Heroku Eco أو Hostinger |
| ~10$/شهر | DigitalOcean أو Hetzner |
| طالب | GitHub Education (200$ مجاني) |