دليل النشر

‎Supabase‎ مقابل ‎Appwrite‎ : مقارنة ‎BaaS‎ مفتوح المصدر

انشر على VPS Cloud →

مقارنات10 دقيقة قراءة

‎Supabase‎ مقابل ‎Appwrite‎ : مقارنة ‎BaaS‎ مفتوح المصدر

‎Supabase‎ و‎Appwrite‎ هما أشهر منصتَي ‎BaaS‎ مفتوحتَي المصدر لاستبدال ‎Firebase‎ دون الاعتماد على سحابة احتكارية. كلتاهما تُنشَران بـ‎Docker‎ على خادم ‎VPS‎، لكنهما تختلفان في البنية التقنية ومتطلبات الموارد وحالات الاستخدام المثلى.

ما هو ‎BaaS‎ ولماذا الاستضافة الذاتية؟

‎Backend-as-a-Service (BaaS)‎ يجمع في منتج واحد كل ما تحتاجه التطبيقات الحديثة: قاعدة بيانات، ومصادقة، وتخزين ملفات، ودوال بلا خادم، وتواصل فوري. ‎Supabase‎ و‎Appwrite‎ هما الحلّان الأكثر نضجاً في هذا المجال.

‎Supabase‎ مقابل ‎Appwrite‎ — مقارنة بـ 12 معياراً

المعيار‎Supabase‎‎Appwrite‎
قاعدة البيانات‎PostgreSQL‎‎MariaDB‎ (≤ 1.8)، ‎PostgreSQL‎ (2.0+)
الذاكرة العشوائية الدنيا4 جيجابايت2 جيجابايت
الذاكرة الموصى بها للإنتاج8 جيجابايت4 جيجابايت
عدد الحاويات~13~19
المنفذ الرئيسي8000 (‎Kong API Gateway‎)80 / 443 (‎Traefik‎)
بيئة تشغيل الدوال‎Deno‎ فقط30+ بيئة تشغيل
الرخصة‎Apache 2.0‎‎BSD 3-Clause‎
‎Storage‎متوافق مع ‎S3‎ + سياسات ‎RLS‎أذونات مرنة للفريق/المستخدم
‎Realtime‎‎PostgreSQL logical replication‎أحداث المستندات والملفات
‎Auth‎ — مزودو ‎OAuth2‎15+ مزود30+ مزود
‎Auth‎ — مصادقة الهاتفنعم (‎SMS OTP‎)نعم (‎SMS OTP‎)
دوال بلا خادم‎Deno‎ حصرياً30+ بيئة تشغيل (‎Node, Python, PHP…‎)

نشر ‎Supabase‎ على خادم ‎VPS‎

01

الخطوة 1 — استنساخ المستودع وضبط الإعدادات

git clone --depth 1 https://github.com/supabase/supabase
cd supabase/docker
cp .env.example .env

افتح .env وعيّن POSTGRES_PASSWORD وJWT_SECRET وANON_KEY وSERVICE_ROLE_KEY.

02

الخطوة 2 — تشغيل المنظومة

docker compose up -d

يستغرق الإقلاع الكامل 60 إلى 120 ثانية. انتظر حتى تكون جميع الحاويات في حالة healthy.

03

الخطوة 3 — التحقق

ادخل إلى ‎Studio‎ على http://IP_VPS:3000. اختبر استدعاء ‎API‎ بسيطاً:

curl http://IP_VPS:8000/rest/v1/ -H "apikey: YOUR_ANON_KEY"
04

الخطوة 4 — التحقق من الإقلاع

تحقق أن جميع الخدمات في حالة ‎healthy‎:

docker compose ps

اوصل إلى ‎Supabase Studio‎ على http://IP_VPS:3000 وأنشئ مشروعك الأول.

نشر ‎Appwrite‎ على خادم ‎VPS‎

01

الخطوة 1 — تشغيل المُثبِّت التفاعلي

docker run -it --rm \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
  --entrypoint="install" \
  appwrite/appwrite:latest
02

الخطوة 2 — انتظار ترحيلات قاعدة البيانات

عند أول إقلاع، تُنفّذ ‎Appwrite‎ ترحيلات ‎MariaDB‎. تستغرق 2 إلى 5 دقائق. لا تُعد تشغيل الحاويات.

03

الخطوة 3 — إنشاء حساب المسؤول

ادخل إلى http://نطاقك/console. أنشئ حساب المسؤول الأول، ثم أول مشروع.

04

الخطوة 4 — إنشاء حساب المسؤول

اوصل إلى http://نطاقك/console وأنشئ حساب المسؤول الأول، ثم مشروعك الأول. عند أول إقلاع، تُنفّذ ‎Appwrite‎ ترحيلات قاعدة البيانات التي تستغرق 2 إلى 5 دقائق — لا تُعد تشغيل الحاويات.

المصادقة — مقارنة مزودي الهوية وضبط ‎OAuth‎

تدعم كلتا المنصتَين المصادقة بالبريد الإلكتروني/كلمة المرور ورقم الهاتف. تدعم ‎Appwrite‎ أكثر من 30 مزود ‎OAuth2‎ مقابل 15+ لـ‎Supabase‎.

تستخدم ‎Supabase‎ ‎GoTrue‎ كخدمة مصادقة. تُدمج ‎Appwrite‎ خدمة ‎Auth‎ الخاصة بها القابلة للضبط من لوحة التحكم.

الدوال البلا خادم — ‎Deno‎ مقابل 30+ بيئة تشغيل

تعمل دوال ‎Supabase Edge Functions‎ حصرياً على ‎Deno‎. تدعم دوال ‎Appwrite‎ أكثر من 30 بيئة تشغيل: ‎Node.js‎ و‎Python‎ و‎PHP‎ و‎Ruby‎ و‎Go‎ و‎Dart‎ والمزيد. هذه المرونة ميزة كبيرة للفرق المتعددة اللغات.

الوقت الفعلي وتخزين الملفات

الوقت الفعلي. تستخدم كلتا المنصتَين ‎WebSockets‎. تكشف ‎Supabase‎ عن تغييرات ‎PostgreSQL‎ في الوقت الفعلي عبر خدمة ‎Realtime‎ (استنساخ منطقي). يغطي ‎Appwrite Realtime‎ أحداث المستندات والملفات والفرق.

التخزين. تستخدم ‎Supabase Storage‎ واجهة برمجية متوافقة مع ‎S3‎ مع سياسات وصول ‎RLS‎ من ‎PostgreSQL‎.

‎Appwrite‎: خطأ 503 عند أول تشغيل — انتظر اكتمال الترحيلات

إذا أظهرت لوحة تحكم ‎Appwrite‎ خطأ 503، لا تُعد تشغيل الحاويات. تنفّذ ‎Appwrite‎ ترحيلات قاعدة بيانات ‎MariaDB‎ تلقائياً عند أول إقلاع، وتستغرق العملية من 2 إلى 5 دقائق. تابع التقدم بـ docker compose logs -f appwrite.

‎Supabase‎: خطأ 502 من ‎Kong‎ عند الإقلاع — سلوك طبيعي

قد يُعيد ‎Kong‎ أخطاء 502 خلال الـ 30-60 ثانية الأولى بعد docker compose up -d. هذا سلوك طبيعي ومؤقت. انتظر حتى يُظهر docker compose ps جميع الحاويات في حالة healthy.

دليل الاختيار — ‎Supabase‎ أم ‎Appwrite‎ لمشروعك؟

اختر ‎Supabase‎ إذا: تطبيقك موجّه للويب أولاً، فريقك يُتقن ‎PostgreSQL‎، أو تحتاج واجهة ‎REST API‎ تتولد تلقائياً من مخطط قاعدة البيانات.

اختر ‎Appwrite‎ إذا: تبني تطبيقاً محمولاً عبر منصات متعددة، أو فريقك يعمل بلغات متعددة ويريد اختيار بيئة تشغيل الدوال.

الأخطاء الشائعة وحلولها

  • ‎Supabase‎ — 502 ‎Bad Gateway‎ (‎Kong‎): انتظر 30-60 ثانية. إذا استمر: docker compose restart kong.
  • ‎Supabase‎ — ‎Realtime could not connect to the database‎: docker compose restart realtime.
  • ‎Appwrite‎ — 503 عند الإقلاع: الترحيلات جارية (2-5 دقائق). لا تُعد تشغيل الحاويات.
  • ‎Appwrite‎ — docker compose down -v: خطر — يحذف جميع البيانات. لا تشغّله في الإنتاج.
  • ‎Supabase‎ — ‎PostgREST relation not found‎: شغّل docker compose exec meta pgrst-reload لإعادة تحميل ذاكرة التخزين المؤقت للمخطط.
  • ‎Appwrite‎ — SMTP_HOST غير مضبوط: أضف _APP_SMTP_HOST في .env وأعد التشغيل.

الخلاصة : منصتان ممتازتان وفلسفتان مختلفتان

تُعدّ ‎Supabase‎ و‎Appwrite‎ كلتاهما خيارات قوية لاستضافة ‎BaaS‎ مفتوح المصدر على خادم ‎VPS‎. تتألق ‎Supabase‎ بعمقها في ‎PostgreSQL‎ وواجهة ‎API‎ التلقائية ولوحة ‎Studio‎ المتطورة. تتميز ‎Appwrite‎ بخفة وزنها النسبية وتنوع بيئات تشغيل الدوال وجودة حزم تطوير التطبيقات المحمولة.

استضف منصة ‎BaaS‎ الخاصة بك على ‎VPS‎ تتحكم فيه

سواء اخترت ‎Supabase‎ أو ‎Appwrite‎، كلتا المنصتَين تستحقان خادم ‎VPS‎ سريعاً ومستقراً مع نسخ احتياطية منتظمة. تبدأ خطط ‎VPS‎ السحابية لدينا من 4 جيجابايت ذاكرة عشوائية مع لقطات يومية مدمجة.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـ العربية والفرنسية والإنجليزية.