[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-ar-hasura":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"marketplace-app-ar-hasura",{"slug":9,"slugs":10,"categorySlugs":11,"name":16,"description":17,"phase":18,"unavailableReason":19,"docsUrl":20,"logo":21,"github":21,"tagline":22,"longDescription":23,"features":24,"useCases":31,"steps":41,"faq":57,"specs":73,"compatibleOs":85,"relatedApps":86,"relatedPosts":109,"category":113},"hasura",{"fr":9,"en":9,"ar":9,"es":9},{"fr":12,"en":13,"ar":14,"es":15},"developpement","development","التطوير","desarrollo","Hasura","محرّك مفتوح المصدر يولّد واجهة GraphQL وREST آمنة فوق قاعدة PostgreSQL، مع صلاحيات حسب الدور واشتراكات فورية.",2,"awaiting_qa","https:\u002F\u002Fservorbit.com\u002Fblog\u002F%D8%A7%D8%B3%D8%AA%D8%B6%D8%A7%D9%81%D8%A9-hasura-%D8%B9%D9%84%D9%89-vps-%D9%88%D8%A7%D8%AC%D9%87%D8%A9-graphql",null,"Hasura — واجهة GraphQL وREST فورية فوق PostgreSQL، مع صلاحيات حسب الدور واشتراكات فورية ولوحة ويب، على خادمك الافتراضي.","Hasura GraphQL Engine محرّك مفتوح المصدر (رخصة Apache-2.0) يتصل بقاعدة PostgreSQL ويعرض فوراً واجهة GraphQL كاملة: استعلامات وتعديلات وفلاتر وترتيب وتقسيم صفحات وعلاقات بين الجداول واشتراكات فورية. لا حاجة لكتابة شيفرة خادم لعمليات CRUD: تنشئ جدولاً وتتبّعه من اللوحة، فتصبح الواجهة جاهزة.\n\nتُعلَن الحماية في المكان نفسه: صلاحيات حسب الدور، سطراً بسطر وعموداً بعمود، تغذّيها claims رمز JWT يصدره مزوّد الهوية لديك. تربط Actions منطق عملك الخاص (webhook عبر HTTP) بمخطط GraphQL، وتستدعي Event Triggers رابط webhook عند كل إدراج أو تحديث، وتجدول Cron Triggers الاستدعاءات. يُستخدم Hasura خلفيةً لتطبيقات الويب والجوال، أو طبقة API أمام قاعدة قائمة، أو مسرّعاً لنموذج أولي.",[25,26,27,28,29,30],"واجهة GraphQL فورية — كل جدول متتبَّع يوفّر استعلامات وتعديلات وفلاتر وترتيباً وتقسيماً للصفحات وتجميعات.","علاقات وربط بين الجداول — تتحوّل المفاتيح الأجنبية إلى حقول متداخلة دون كتابة أي resolver.","اشتراكات فورية — يشترك العميل في استعلام ويتلقّى التغييرات عبر WebSocket.","صلاحيات حسب الدور — قواعد على مستوى السطر والعمود، تغذّيها claims رمز JWT.","Actions وEvent Triggers وCron Triggers — منطق عملك على شكل webhooks تطلقها الواجهة أو البيانات أو الساعة.","نقاط REST ولوحة ويب — حوّل استعلام GraphQL إلى مسار REST وأدر كل شيء من اللوحة.",[32,35,38],{"title":33,"body":34},"خلفية تطبيق ويب أو جوال","صمّم جداولك في PostgreSQL وأعلن الصلاحيات حسب الدور، فيستعلم تطبيقك المكتوب بـ Vue أو React أو Flutter واجهة GraphQL مباشرة، مع مصادقة مزوّد JWT لديك.",{"title":36,"body":37},"واجهة API أمام قاعدة قائمة","اربط Hasura بقاعدة PostgreSQL تعمل في الإنتاج: تصبح الجداول المتتبَّعة واجهة موثّقة ومحدّدة الأنواع، دون إعادة كتابة التطبيق الذي يملؤها.",{"title":39,"body":40},"لوحة متابعة فورية","تدفع اشتراكات GraphQL كل طلب أو تذكرة أو قياس جديد إلى المتصفح فور إدراجه في القاعدة، دون طابور رسائل يحتاج إلى تشغيل.",[42,45,48,51,54],{"title":43,"body":44},"إنشاء الخادم واختيار العنوان","اطلب خادماً افتراضياً بنظام Ubuntu 24.04 وذاكرة 1 غيغابايت (2 غيغابايت لقاعدة تكبر). يتطلب Hasura نطاقاً: تستدعي واجهاتُك الأمامية وتطبيقات الجوال واجهتَه، فيجب أن تردّ عبر HTTPS على اسم ثابت. تُفتح على نطاق فرعي لأحد نطاقاتك، أو على النطاق الفرعي المجاني للخادم (hasura.{dns_slug}‎.servorbit-dns.com) مع HTTPS. لا حاجة لشراء اسم نطاق.",{"title":46,"body":47},"تثبيت Hasura من المتجر","في مساحة العميل اختر Hasura وحدّد العنوان ثم انقر «تثبيت». ينشر السكربت PostgreSQL ومحرّك Hasura، ويولّد admin secret وكلمة مرور القاعدة، ويربط القاعدة مصدراً باسم «default»، ويضبط الوكيل العكسي nginx عبر HTTPS.",{"title":49,"body":50},"تسجيل الدخول أول مرة","افتح https:\u002F\u002Fنطاقك\u002Fconsole والصق admin secret المعروض في مساحة العميل: هو المفتاح الوحيد للوحة، ولا يوجد اسم مستخدم. احفظه في مدير كلمات مرور ولا تضعه أبداً في واجهة أمامية.",{"title":52,"body":53},"إنشاء جدول وعرضه","في تبويب Data أنشئ جدولاً (مثلاً `todos` بالحقول `id` و`title` و`done`) ثم انقر Track. في تبويب API يردّ الاستعلام `query { todos { id title done } }` فوراً.",{"title":55,"body":56},"إعلان المصادقة والصلاحيات","أضف `HASURA_GRAPHQL_JWT_SECRET` إلى ملف `.env` الخاص بالتطبيق (`\u002Fopt\u002Fhasura`) بمفتاح مزوّد الهوية لديك (Logto أو Authentik أو Zitadel أو Auth0…)، وأعد تشغيل المجموعة بالأمر `docker compose up -d`، ثم في تبويب Permissions لكل جدول حدّد ما يمكن للدور `user` قراءته وتعديله. يستدعي عملاؤك الواجهة بعد ذلك برمزهم، لا بـ admin secret أبداً.",[58,61,64,67,70],{"q":59,"a":60},"ما الفرق بين Hasura وSupabase؟","Supabase منصّة كاملة: قاعدة PostgreSQL ومصادقة وتخزين ملفات وواجهة REST. أما Hasura فيركّز على طبقة الواجهة: GraphQL غني جداً (علاقات وتجميعات واشتراكات) وصلاحيات دقيقة حسب الدور وwebhooks، أمام قاعدة PostgreSQL تحتفظ بها. اختر Hasura إن كانت واجهتك الأمامية تتعامل بـ GraphQL أو كان لديك مزوّد هوية.",{"q":62,"a":63},"هل أحتاج إلى اسم نطاق لـ Hasura؟","نعم. تستدعي واجهاتُك الأمامية وتطبيقات الجوال واجهةَ Hasura، فيجب أن تردّ عبر HTTPS على اسم ثابت. لا حاجة لشراء نطاق: لكل خادم من ServOrbit نطاق فرعي مجاني (hasura.{dns_slug}‎.servorbit-dns.com) مع شهادة HTTPS. ويمكنك أيضاً استخدام نطاق فرعي لأحد نطاقاتك.",{"q":65,"a":66},"كيف أدخل إلى اللوحة أول مرة؟","افتح https:\u002F\u002Fنطاقك\u002Fconsole وأدخل admin secret المعروض في مساحة العميل. لا يوجد اسم مستخدم: هذا السرّ يمنح كل الصلاحيات على الواجهة والقاعدة. لا تضعه أبداً في شيفرة واجهة أمامية؛ يصادق مستخدموك برمز JWT.",{"q":68,"a":69},"هل يمكن ربط Hasura بقاعدة PostgreSQL قائمة؟","نعم. في تبويب Data أضف مصدراً برابط الاتصال بقاعدتك ثم تتبّع الجداول التي تريد عرضها. لا يعدّل Hasura جداولك: يحفظ بياناته الوصفية في مخطط منفصل، hdb_catalog، داخل قاعدة البيانات الوصفية.",{"q":71,"a":72},"كيف أنسخ تثبيت Hasura احتياطياً؟","يكفي عنصران: قاعدة PostgreSQL (pg_dump منتظم أو أداة مثل Databasus) والبيانات الوصفية لـ Hasura، القابلة للتصدير من اللوحة (Settings ثم Export metadata) أو عبر أداة hasura CLI. ضع البيانات الوصفية في Git مع ترحيلاتك.",{"ram":74,"cpu":75,"disk":76,"stack":77,"port":81,"license":82,"version":83,"os":84},"1 غيغابايت كحدّ أدنى","1 vCPU","10 غيغابايت",[78,79,80],"Docker","Hasura GraphQL Engine","PostgreSQL","8103","Apache-2.0","v2.51.3","Ubuntu 24.04",[],[87,94,103],{"name":88,"slug":89,"categorySlug":14,"categoryName":14,"categoryColor":90,"logo":91,"tagline":92,"description":93},"Supabase","supabase","text-warning bg-warning\u002F10","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fsupabase.svg","بديل Firebase مفتوح المصدر — خلفية Postgres كاملة مع واجهات برمجية فورية، ومصادقة، ولوحة تحكم، ذاتية الاستضافة من حزمة Supabase الرسمية الخاصة بها.","بديل Firebase مفتوح المصدر وذاتي الاستضافة — خلفية Postgres كاملة مع واجهات REST فورية، ومصادقة، ولوحة تحكم Studio، منشورة من حزمة Docker الرسمية الخاصة بـ Supabase.",{"name":95,"slug":96,"categorySlug":97,"categoryName":98,"categoryColor":99,"logo":100,"tagline":101,"description":102},"PostgreSQL Stack","postgresql-stack","قواعد-البيانات","قواعد البيانات","text-blue-400 bg-blue-500\u002F10","https:\u002F\u002Fcdn.simpleicons.org\u002Fpostgresql","PostgreSQL 15 + pgAdmin — قاعدة بيانات علائقية قوية وقابلة للتوسّع منذ أول تشغيل.","قاعدة بيانات علائقية مفتوحة المصدر مع pgAdmin مُهيّأة مسبقًا. قوية وقابلة للتوسّع وجاهزة للإنتاج.",{"name":104,"slug":105,"categorySlug":14,"categoryName":14,"categoryColor":90,"logo":106,"tagline":107,"description":108},"PocketBase","pocketbase","https:\u002F\u002Fcdn.simpleicons.org\u002Fpocketbase","خلفيتك المتكاملة في ملف Go تنفيذي واحد — قاعدة بيانات، وواجهة برمجية فورية، ومصادقة، وواجهة إدارة، بأمر واحد.","خلفية (backend) متكاملة في ملف Go تنفيذي واحد — قاعدة بيانات SQLite مدمجة، وواجهة REST وWebSocket فورية، ومصادقة، وتخزين للملفات، ولوحة تحكم إدارية. انشر خلفية كاملة في أقل من 5 دقائق.",[110,111,112],"heberger-postgresql-vps","heberger-supabase-vps","docker-compose-depends-on-healthcheck",{"key":12,"slug":14,"name":14,"objective":114,"icon":115,"color":90},"بدء مشروع برمجي بسرعة.","dev",1793146159026]