[{"data":1,"prerenderedAt":159},["ShallowReactive",2],{"seo-verification":3,"blog-supabase-vs-appwrite-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":25,"intro":28,"sections":29,"ctaTitle":111,"ctaBody":112,"ctaButton":113,"ctaUrl":114,"relatedPosts":115},94,"supabase-vs-appwrite","Supabase مقابل Appwrite: أي واجهة خلفية مستضافة ذاتياً لخادم VPS الخاص بك؟","Supabase أم Appwrite مستضافة ذاتياً على خادم VPS؟ مقارنة الواجهة الخلفية (المصادقة، وقاعدة البيانات، والتخزين)، ومتطلبات Docker، ودليل نشر كامل.",9,678,false,"2026-03-18T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},5,"مقارنات","comparatif","bg-info\u002F10 text-info",[21],{"id":16,"name":17,"slug":18,"color":19,"icon":18},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fsupabase-vs-appwrite-poster.svg",{"categorySlug":26,"appSlug":27},"bases-de-donnees","supabase","Supabase وAppwrite هما العملاقان في مجال الواجهة الخلفية كخدمة (backend-as-a-service) مفتوحة المصدر. يوفّر كلاهما المصادقة، وقاعدة البيانات، والتخزين، والدوال، لكن بفلسفتين متعاكستين: يتمحور Supabase حول PostgreSQL، وAppwrite حول تجريد متعدّد القواعد موجَّه للمطوّرين. إليك كيفية الاختيار واستضافتهما ذاتياً على خادم VPS الخاص بك.",[30,34,44,83,86,108],{"type":31,"title":32,"body":33},"h2","لماذا تستضيف واجهتك الخلفية BaaS بنفسك","توفّر عليك الواجهة الخلفية كخدمة (BaaS) إعادة كتابة المصادقة، والصلاحيات، وتخزين الملفات، وواجهات API الآنيّة لكل مشروع. لكن العروض السحابية لـ Supabase وAppwrite تحاسب على الاستخدام (الصفوف المقروءة، والتخزين، والمستخدمون النشطون شهرياً MAU) وتقيّد الوصول إلى قاعدة البيانات الأساسية. وباستضافتها ذاتياً على خادم VPS، تستعيد وصولاً مباشراً بلغة SQL، وتكاليف ثابتة يمكن توقّعها، وسيادة تامة على بيانات المستخدمين، وهو أمر حاسم للامتثال. يعتمد Supabase كلياً على PostgreSQL ويعرض واجهة REST\u002FGraphQL مولَّدة تلقائياً إضافةً إلى الآنيّة عبر سجلات WAL. أما Appwrite فيجرّد الاستمرارية خلف واجهته الخاصة ويضمّ أصلاً دوالّ عديمة الخادم (serverless) متعددة بيئات التشغيل، ونظام صلاحيات دقيقاً حتى مستوى المستند، ومحرّك إعادة ترميز للصور.",{"type":35,"title":36,"items":37},"ul","مزايا استضافة BaaS ذاتياً",[38,39,40,41,42,43],"وصول SQL مباشر إلى PostgreSQL (Supabase) للاستعلامات والعروض (views) والترحيلات دون وسيط.","تكاليف ثابتة مرتبطة بخادم VPS، دون محاسبة على عدد الصفوف المقروءة أو المستخدمين النشطين.","بيانات المستخدمين والملفات مستضافة محلياً: تحكّم في مكان إقامة البيانات.","تخصيص الدوال عديمة الخادم ببيئات التشغيل والاعتماديات الخاصة بك.","لا بدء بارد (cold start) ولا حصص تنفيذ مفروضة من سحابة خارجية.","التكامل مع شبكة Docker الخاصة مع بقية خدماتك الداخلية.",{"type":45,"headers":46,"rows":50},"comparison",[47,48,49],"المعيار","Supabase","Appwrite",[51,55,59,63,67,71,75,79],[52,53,54],"قاعدة البيانات","PostgreSQL أصلية (وصول SQL كامل)","تجريد خاص (MariaDB في الأساس)",[56,57,58],"الواجهة المعروضة","REST + GraphQL مولّدتان تلقائياً (PostgREST)","REST + GraphQL + SDK متعدد اللغات",[60,61,62],"الآنيّة","اشتراكات على تغيّرات PostgreSQL","قنوات آنيّة لكل مجموعة (collection)",[64,65,66],"الدوال عديمة الخادم","Edge Functions (Deno)","دوال متعددة بيئات التشغيل (Node، Python، PHP، Dart…)",[68,69,70],"الصلاحيات","Row Level Security في PostgreSQL","صلاحيات لكل مستند ولكل دور",[72,73,74],"بنية الحاويات","حزمة مركّبة (~10 خدمات)","حزمة مركّبة حول حاوية رئيسية",[76,77,78],"الذاكرة الموصى بها للاستضافة الذاتية","4 غيغابايت كحد أدنى","2 إلى 4 غيغابايت",[80,81,82],"الجمهور المستهدف","الفرق المرتاحة مع SQL","المطوّرون الباحثون عن واجهة موحّدة",{"type":31,"title":84,"body":85},"متطلبات نشر سليم","Supabase المستضاف ذاتياً حزمة مركّبة من نحو عشر حاويات (Postgres، GoTrue، PostgREST، Realtime، Storage، Kong، Studio…). جهّز خادم VPS بما لا يقل عن 2 vCPU و4 غيغابايت من الذاكرة، مع 20 غيغابايت من قرص SSD\u002FNVMe لقاعدة البيانات والملفات. أما Appwrite فأكثر تواضعاً عند الإقلاع: 2 vCPU و2 غيغابايت من الذاكرة تكفي للبدء، لكن ارتقِ إلى 4 غيغابايت بمجرد أن تعمل الدوال عديمة الخادم، لأن كل تنفيذ يُطلق حاوية. في الحالتين: Docker Compose v2 إلزامي، ونطاق مخصّص (`api.mydomain.com`)، ووسيط عكسي يدير HTTPS وWebSockets (لا غنى عنهما للآنيّة).",{"type":87,"title":88,"steps":89},"steps","انشر واجهتك الخلفية المستضافة ذاتياً",[90,93,96,99,102,105],{"title":91,"body":92},"الحصول على الحزمة الرسمية","بالنسبة لـ Supabase: `git clone --depth 1 https:\u002F\u002Fgithub.com\u002Fsupabase\u002Fsupabase` ثم انسخ `docker\u002F.env.example` إلى `.env`. بالنسبة لـ Appwrite، يتم التثبيت عبر `docker run` لسكربت تهيئة يولّد `docker-compose.yml` و`.env`.",{"title":94,"body":95},"توليد الأسرار وتحصينها","هذه أكثر خطوة حرِجة. أعِد حتماً توليد `POSTGRES_PASSWORD` و`JWT_SECRET` و`ANON_KEY` و`SERVICE_ROLE_KEY` لـ Supabase؛ فالمفاتيح الافتراضية علنية. بالنسبة لـ Appwrite، حدّد `_APP_OPENSSL_KEY_V1` وكلمة مرور قوية للمدير.",{"title":97,"body":98},"إعداد النطاق والروابط العامة","املأ `API_EXTERNAL_URL=https:\u002F\u002Fapi.mydomain.com` و`SITE_URL` من جهة Supabase، أو `_APP_DOMAIN` و`_APP_DOMAIN_TARGET` من جهة Appwrite، كي تكون عمليات إعادة توجيه OAuth وروابط البريد الإلكتروني صحيحة.",{"title":100,"body":101},"تشغيل الحزمة","نفّذ `docker compose up -d`. راقب `docker compose ps`: يجب أن تنتقل جميع الخدمات إلى `healthy`. يُقدَّم Supabase Studio عبر Kong على المنفذ `8000`، وواجهة Appwrite على `80\u002F443` الداخلي.",{"title":103,"body":104},"وضع Kong\u002FAppwrite خلف HTTPS","مع Traefik أو Caddy، وجّه `api.mydomain.com` نحو المنفذ المعروض وفعّل تمرير WebSockets (`Upgrade`\u002F`Connection`) للآنيّة. افرض إعادة التوجيه من HTTP إلى HTTPS.",{"title":106,"body":107},"التهيئة والاختبار","أنشئ أول مشروع\u002Fمستخدم عبر Studio (Supabase) أو وحدة التحكم (Appwrite)، ثم اختبر المصادقة واستعلاماً من SDK للعميل. تحقّق من أن الاشتراكات الآنيّة تنقل التغييرات جيداً.",{"type":109,"body":110},"tip","بالنسبة لـ Supabase في الإنتاج، لا تخزّن قاعدة البيانات على وحدة تخزين Docker الافتراضية أبداً: اربط وحدة تخزين مخصّصة وجدوِل عمليات `pg_dump` مشفّرة إلى تخزين خارجي، لأن الاستعادة من وحدة تخزين تالفة أمر لا يمكن إدارته. فعّل أيضاً Row Level Security على جميع جداولك منذ الإنشاء، وإلا فإن `ANON_KEY` يمنح وصولاً كاملاً. على صعيد Appwrite، قيّد زمن تشغيل الدوال وعدد حاويات التنفيذ المتزامنة عبر `_APP_FUNCTIONS_*` لمنع ذروة من الطلبات من إشباع خادم VPS.","واجهتك الخلفية الكاملة على خادم VPS مخصّص","انشر Supabase أو Appwrite على خادم VPS Cloud من ServOrbit مع Docker، وتخزين NVMe، وموارد قابلة للتوسّع. القالب المُعَدّ مسبقاً يوفّر عليك خطوة التثبيت.","أطلق واجهتي الخلفية على VPS","\u002Fvps-cloud",[116,131,145],{"id":117,"slug":118,"title":119,"excerpt":120,"readTime":121,"views":122,"isPinned":13,"publishedAt":123,"category":124,"categories":125,"featuredImage":22,"bgImage":23,"posterImage":127,"relatedSolution":128},4,"coolify-vs-dokploy","Coolify مقابل Dokploy: أي أداة تختار للنشر على خادم VPS الخاص بك؟","مقارنة شاملة بين Coolify وDokploy: الميزات، والبساطة، وحالات الاستخدام. أي أداة تختار لاستضافة تطبيقاتك ونشرها على خادم VPS؟",8,2600,"2026-06-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[126],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fcoolify-vs-dokploy-poster.svg",{"categorySlug":129,"appSlug":130},"deploiement","coolify",{"id":132,"slug":133,"title":134,"excerpt":135,"readTime":121,"views":136,"isPinned":13,"publishedAt":137,"category":138,"categories":139,"featuredImage":22,"bgImage":23,"posterImage":141,"relatedSolution":142},93,"n8n-vs-node-red","n8n مقابل Node-RED: أي أداة أتمتة مستضافة ذاتياً تختار؟","n8n أم Node-RED لأتمتة سير عملك على خادم VPS؟ مقارنة تقنية، ومتطلبات Docker، ودليل النشر المستضاف ذاتياً.",641,"2026-03-19T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[140],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fn8n-vs-node-red-poster.svg",{"categorySlug":143,"appSlug":144},"automatisation","n8n",{"id":146,"slug":147,"title":148,"excerpt":149,"readTime":121,"views":150,"isPinned":13,"publishedAt":151,"category":152,"categories":153,"featuredImage":22,"bgImage":23,"posterImage":155,"relatedSolution":156},95,"nextcloud-vs-owncloud","Nextcloud مقابل ownCloud: أي سحابة خاصة تستضيف؟","Nextcloud أم ownCloud لسحابتك الخاصة على خادم VPS؟ مقارنة الميزات، والأداء، والمتطلبات، ودليل النشر عبر Docker.",715,"2026-03-17T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[154],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fnextcloud-vs-owncloud-poster.svg",{"categorySlug":157,"appSlug":158},"self-hosting","nextcloud",1785097299444]