[{"data":1,"prerenderedAt":229},["ShallowReactive",2],{"seo-verification":3,"blog-cal-com-مصدر-مغلق-بدائل-تحديد-المواعيد-vps-2026-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-cal-com-مصدر-مغلق-بدائل-تحديد-المواعيد-vps-2026-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":166,"ctaBody":167,"ctaButton":168,"ctaUrl":169,"relatedPosts":170},405,"cal-com-مصدر-مغلق-بدائل-تحديد-المواعيد-vps-2026",{"fr":12,"en":13,"ar":10,"es":14},"cal-com-closed-source-alternatives-scheduling-vps-2026","cal-com-closed-source-scheduling-alternatives-vps-2026","cal-com-codigo-cerrado-alternativas-planificacion-vps-2026","Cal.com مغلق المصدر: 3 بدائل مفتوحة تُنشر على VPS","تخلت Cal.com عن رخصة AGPL في أبريل 2026. مقارنة بين Rallly وEasy!Appointments وTymeslot: ثلاثة بدائل مفتوحة المصدر حقاً للنشر على VPS.",9,0,false,"2026-10-02T00:00:00+00:00","2026-10-02T14:03:20+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},5,"مقارنات","comparatif","bg-info\u002F10 text-info",[28],{"id":23,"name":24,"slug":25,"color":26,"icon":25},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fcal-com-closed-source-alternatives-scheduling-vps-2026-poster.svg",{"categorySlug":33,"appSlug":34},"التعاون-والإنتاجية","cal-com","في 14 أبريل 2026، نقلت Cal.com قاعدة الكود التجاري إلى مستودع خاص، وأعادت ترخيص الكود العام باسم Cal.diy (MIT)، مع إزالة SSO وTeams والWorkflows وRouting Forms. المستخدمون الذين اختاروا Cal.com تحديداً بسبب رخصة AGPL أمامهم الآن خيار: البقاء مع cal.diy المُجرَّد عن قصد، أو الانتقال للعرض التجاري المغلق، أو الهجرة لبديل مفتوح المصدر فعلاً. تقارن هذه المقالة بين Rallly وEasy!Appointments وTymeslot لمساعدتك على الاختيار.",[37,41,53,56,62,84,153,156,160,163],{"type":38,"title":39,"body":40},"h2","ما الذي تغيّر في Cal.com في أبريل 2026","نشرت Cal.com في 14 أبريل 2026 مقالاً رسمياً يشرح القرار: صعود أدوات الذكاء الاصطناعي القادرة على فحص الكود العام للكشف عن ثغرات أمنية دفع الفريق إلى إغلاق قاعدة الكود التجاري. الإصدار v6.4 يمثّل نقطة التحوّل.\n\nتمّت إعادة تسمية المستودع العام `calcom\u002Fcal.com` إلى `calcom\u002Fcal.diy` وتغيير رخصته من AGPL-3.0 إلى MIT. قد يبدو هذا التغيير متساهلاً للوهلة الأولى، لكن جوهر المشكلة هو ما **تمت إزالته** من الكود العام، وليس الرخصة ذاتها. يوصي موقع cal.diy رسمياً بـCal.com (النسخة المغلقة) لأي استخدام تجاري أو إنتاجي.",{"type":42,"title":43,"items":44},"ul","الميزات المحذوفة من cal.diy مقارنةً بالنسخة AGPL",[45,46,47,48,49,50,51,52],"**Teams وOrganizations**: إدارة متعددة الأعضاء وفضاءات الفِرَق، محجوزة الآن للعرض المؤسسي المغلق.","**Workflows**: أتمتة التذكيرات والإشعارات والإجراءات المُشغَّلة، غائبة من الكود العام.","**SSO وSAML**: تسجيل دخول موحّد عبر موفّر هويتك، محذوف من cal.diy.","**Routing Forms**: نماذج التصفية لتوجيه الحجوزات للعضو المناسب، محذوفة.","**Instant Booking**: حجز فوري دون تأكيد يدوي، محجوز للعرض التجاري.","**Insights**: لوحة تحليلات الحجوزات، غائبة من الكود المفتوح.","**API v1**: واجهة برمجة REST الموثّقة القديمة، مستبدَلة بـAPI v2 في الجانب التجاري فقط.","**وكيل الهاتف الذكي**: جدولة مدعومة بالذكاء الاصطناعي عبر مكالمة هاتفية، مغلق المصدر.",{"type":38,"title":54,"body":55},"متطلبات مقارنة: RAM والمعالج والبنية التقنية لكل بديل","قبل الاختيار، تأكد من أن خادم VPS يتوافق مع متطلبات الأداة. البدائل الثلاثة لها بنى تقنية مختلفة جداً — Node.js\u002FPostgreSQL وPHP\u002FMySQL وElixir\u002FPostgreSQL — مما يُترجَم إلى متطلبات موارد ومتطلبات إدارة مختلفة.",{"type":42,"title":57,"items":58},"ملفات الموارد لكل أداة",[59,60,61],"**Rallly** (AGPL-3.0): Next.js + PostgreSQL عبر Docker Compose. خصّص **2 جيجابايت RAM** على الأقل، vCPU واحد كافٍ للحمل الخفيف. نطاق ومُرسِل SMTP وDocker Compose v2 مطلوبة. يتضمن الحزمة الرسمية PostgreSQL وتخزين كائنات S3 وبروكسي HTTPS — أمر واحد يكفي.","**Easy!Appointments** (GPL-3.0): PHP 8.2+ + MySQL\u002FMariaDB. يعمل على أي خادم LAMP عادي أو Docker. **512 ميجابايت RAM** كافية للاستخدام الفردي أو الفريق الصغير — الأخف من بين الثلاثة. متوافق مع استضافة مشتركة cPanel، وليس VPS فقط.","**Tymeslot** (AGPL-3.0): Elixir\u002FPhoenix LiveView + PostgreSQL مدمج في حاوية Docker. بنية مُجمَّعة، بصمة ذاكرة منخفضة جداً أثناء التشغيل. حاوية Docker واحدة مع PostgreSQL مدمج — مصمم لتثبيت VPS نظيف.",{"type":63,"title":64,"steps":65},"steps","نشر Rallly على VPS باستخدام Docker Compose",[66,69,72,75,78,81],{"title":67,"body":68},"إعداد الخادم","سجّل الدخول بصلاحية root على خادم VPS. ثبّت Docker وDocker Compose v2 إذا لم يكونا مثبّتَين:\n\n```bash\ncurl -fsSL https:\u002F\u002Fget.docker.com | sh\ndocker compose version\n```\n\nافتح المنفذَين 80 و443 في الجدار الناري. أشر نطاقاً فرعياً (`cal.your-domain.com`) إلى IPv4 خادمك عبر سجل DNS من نوع A.",{"title":70,"body":71},"جلب الإعداد الرسمي","استنسخ مستودع أمثلة self-hosted الرسمي لـRallly وأنشئ ملف البيئة:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flukevella\u002Frallly-selfhosted.git\ncd rallly-selfhosted\ncp .env.example .env\n```",{"title":73,"body":74},"ضبط متغيرات البيئة","افتح `.env` وأدخل المتغيرات الأساسية:\n\n```bash\nSECRET_PASSWORD=\u003Cسلسلة-عشوائية-32-حرف>\nNEXT_PUBLIC_BASE_URL=https:\u002F\u002Fcal.your-domain.com\nSMTP_HOST=smtp.مزودك.com\nSMTP_PORT=587\nSMTP_USER=بريدك@domain.com\nSMTP_PWD=\u003Cكلمة-مرور-smtp>\nSUPPORT_EMAIL=بريدك@domain.com\n```\n\nأنشئ السلسلة العشوائية بـ`openssl rand -hex 16`. لا تترك `SECRET_PASSWORD` فارغاً — سيرفض Rallly الإقلاع بدون قيمة.",{"title":76,"body":77},"تشغيل الحاويات","شغّل كامل البنية التقنية في الخلفية. تتضمن حزمة Rallly التطبيق وPostgreSQL وتخزين الكائنات وبروكسي عكسي مع TLS تلقائي:\n\n```bash\ndocker compose up -d\n```\n\nتحقق أن جميع الخدمات `healthy`:\n\n```bash\ndocker compose ps\n```\n\nيحصل البروكسي العكسي تلقائياً على شهادة Let's Encrypt عند الإقلاع الأول — انتظر دقيقة قبل الوصول للنطاق.",{"title":79,"body":80},"التحقق من التثبيت وإنشاء أول استطلاع","افتح `https:\u002F\u002Fcal.your-domain.com` في المتصفح. لا يتطلب Rallly من المشاركين إنشاء حساب — فقط المنظّم. أنشئ أول استطلاع توافر للتحقق من صحة إرسال البريد الإلكتروني عبر SMTP.\n\nإذا لم تصل الرسائل، تحقق من سجلات الخدمة:\n\n```bash\ndocker compose logs app --tail=50\n```",{"title":82,"body":83},"تفعيل التحديثات التلقائية (اختياري)","للبقاء محدَّثاً دون تدخل يدوي، ثبّت Watchtower الذي يراقب الصور الجديدة ويعيد تشغيل الحاويات المتأثرة:\n\n```bash\ndocker run -d \\\n  --name watchtower \\\n  -v \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock \\\n  containrrr\u002Fwatchtower --cleanup --interval 86400\n```\n\nيتحقق Watchtower من الصور الجديدة مرة يومياً. ينشر Rallly تصحيحات أمنية بانتظام — لا تترك نسختك دون مراقبة.",{"type":85,"title":86,"headers":87,"rows":93},"comparison","Rallly مقابل Easy!Appointments مقابل Tymeslot مقابل cal.diy",[88,89,90,91,92],"المعيار","Rallly","Easy!Appointments","Tymeslot","cal.diy",[94,99,104,109,115,121,127,131,135,139,144,147],[95,96,97,96,98],"الرخصة","AGPL-3.0","GPL-3.0","MIT (كود مُجرَّد)",[100,101,102,103,101],"البنية التقنية","Next.js + PostgreSQL","PHP 8.2 + MySQL","Elixir\u002FPhoenix + PostgreSQL",[105,106,107,108,106],"الحد الأدنى من RAM","2 جيجابايت","512 ميجابايت","غير موثّق",[110,111,112,113,114],"Docker Compose","نعم، حزمة رسمية","نعم، صورة متاحة","نعم، حاوية واحدة","نعم",[116,117,118,119,120],"حالة الاستخدام الأساسية","استطلاعات التوافر، التصويت الجماعي","مواعيد منظّمة (خدمات\u002Fمزودون)","جدولة فردية وجماعية","جدولة فردية (غير إنتاجي)",[122,123,124,125,126],"مزامنة التقويم","Google وOutlook (iCal)","Google Calendar","Google وOutlook وiCloud وCalDAV وNextcloud","Google وOutlook",[128,129,129,129,130],"SSO \u002F SAML","لا","محذوف (العرض التجاري)",[132,129,133,134,130],"فِرَق متعددة الأعضاء","متعدد المزودين (خدمات)","نعم (مجموعات)",[136,137,137,138,130],"Workflows \u002F تذكيرات تلقائية","نعم (بريد إلكتروني)","نعم (بريد، Slack، Telegram)",[140,114,141,142,143],"REST API","نعم (REST كاملة)","نعم + webhooks","API v2 فقط",[145,114,114,114,146],"موصى به للإنتاج","لا (تصريح رسمي)",[148,149,150,151,152],"النضج (2026)","نشط، v4.15.2 (سبتمبر 2026)","نشط، v1.6.0 (مايو 2026)","نشط، أُطلق رداً على Cal.com","مُصان، نطاق محدود بقصد",{"type":38,"title":154,"body":155},"الهجرة من Cal.com AGPL: تصدير بياناتك","إذا كنت تستضيف Cal.com ذاتياً تحت رخصة AGPL وتريد الهجرة لأحد البدائل، إليك كيفية استخراج بياناتك قبل إيقاف النسخة القديمة.\n\n**التصدير من نسخة Cal.com AGPL الحالية.** تخزّن Cal.com بياناتها في PostgreSQL. يمكنك تصدير جداول الحجوزات والتوافر وأنواع الأحداث عبر `pg_dump`:\n\n```bash\npg_dump -U calcom -d calcom -t bookings -t event_types -t schedules > calcom_export.sql\n```\n\nالبيانات ذات الأولوية: الحجوزات الحالية (لسجل إدارة علاقات العملاء)، عناوين البريد الإلكتروني للمشاركين (إن كنت ترسل تذكيرات)، وقواعد التوافر (ساعات العمل، الفترات المحجوبة).\n\n**ما لا يمكنك استيراده مباشرة.** لا يوفر أيٌّ من البدائل الثلاثة استيراداً بتنسيق Cal.com — الهجرة إعادة ضبط يدوية، وليست استعادة. ركّز على تصدير قائمة جهات الاتصال وقواعد التوافر، ثم أعد ضبط أنواع الأحداث في الأداة المستهدفة. لـRallly (استطلاعات جماعية) أو Tymeslot (روابط حجز فردية)، تستغرق إعادة الضبط عادةً أقل من ساعة.",{"type":157,"title":158,"body":159},"tip","التصليب بعد التثبيت","بعض الخطوات قبل تعريض نسختك للزيارات الحقيقية.\n\nاحمِ الوصول الإداري بمصادقة HTTP أساسية أمام البروكسي العكسي إن لم توفّر الأداة 2FA أصلياً — مهم بشكل خاص لـEasy!Appointments على وصول عام. اضبط نسخاً احتياطية تلقائية لمجلد بيانات PostgreSQL أو MySQL: `docker exec` مجدوَل مع `pg_dump` أو `mysqldump` إلى تخزين خارجي كافٍ. تحقق أن خادم VPS لا يعرض إلا المنافذ الضرورية (80\u002F443 للويب، 22 لـSSH) وأن الوصول المباشر لمنفذ قاعدة البيانات (5432 أو 3306) غير مفتوح على الواجهة العامة.",{"type":38,"title":161,"body":162},"استكشاف الأخطاء الشائعة","**Rallly: التطبيق يعمل لكن الرسائل لا تصل.** تحقق من `SMTP_HOST` و`SMTP_PORT` و`SMTP_USER` في ملف `.env`. بعض مزودي الاستضافة يحجبون المنفذ 25 للخارج — استخدم المنفذ 587 (STARTTLS) أو 465 (SSL). افحص السجلات بـ`docker compose logs app --tail=100 | grep -i smtp`.\n\n**Easy!Appointments: خطأ 500 أو صفحة بيضاء بعد التثبيت.** تحقق من أن مجلد `storage\u002F` قابل للكتابة من قِبَل عملية الويب (`chmod -R 775 storage\u002F`). في Docker، تأكد أن حاوية MySQL بدأت وأصبحت في متناول الحاوية التطبيقية قبلها — استخدام `depends_on` مع `condition: service_healthy` في Compose يحل مشاكل التسابق في الإقلاع.\n\n**Tymeslot: الحاوية تعمل لكن مزامنة التقويم تفشل.** تتطلب مزامنة Google\u002FOutlook بيانات اعتماد OAuth2 (معرّف العميل والسر) في متغيرات البيئة. أنشئ مشروعاً في Google Cloud Console، فعّل Google Calendar API، وأدخل `GOOGLE_CLIENT_ID` و`GOOGLE_CLIENT_SECRET`. يجب أن تطابق عنوان URL للاستجابة OAuth نطاق الإنتاج تماماً.",{"type":38,"title":164,"body":165},"أيّ بديل تختار؟","**Rallly** هو الخيار الأنسب إذا احتجت لاستطلاعات التوافر لإيجاد موعد يناسب عدة مشاركين — اجتماعات الفريق وورش العمل والمكالمات الجماعية. لا تدفق حجز فوري، لكن تصويت تعاوني خفيف الوزن وبلا احتكاك. نضجه (v4.15.2 في سبتمبر 2026، حزمة Docker رسمية متكاملة) يجعله الخيار الأسهل نشراً.\n\n**Easy!Appointments** هو الاختيار الصحيح إذا كانت حالة استخدامك تشبه أجندة مهنية منظّمة: خدمات (استشارة، درس، مقابلة)، مزودون، فترات ثابتة وتأكيد بالبريد الإلكتروني. يعمل على استضافة مشتركة cPanel كما على VPS، مما يجعله متاحاً دون Docker. إصداره v1.6.0 (مايو 2026) هو الأحدث.\n\n**Tymeslot** يضع نفسه رداً مباشراً على مغادرة Cal.com AGPL: جدولة فردية مع روابط حجز، مزامنة متعددة التقاويم (Google وOutlook وiCloud وCalDAV وNextcloud)، وتكاملات webhooks للربط مع n8n أو Make. وُلد في أعقاب إغلاق Cal.com، ويستهدف مباشرةً المطورين الذين يبحثون عن بديل بنطاق مماثل، مع رخصة AGPL تضمن الاستدامة.","انشر أداة الجدولة الخاصة بك على VPS","Rallly وEasy!Appointments وTymeslot تُستضاف ذاتياً على VPS بصلاحية root مع Docker. وصول root، IPv4 مخصصة، اختيار نظام التشغيل، بلا قيود برمجية.","نشر بديلي على VPS","\u002Fvps-cloud",[171,192,208],{"id":172,"slug":173,"slugs":174,"title":178,"excerpt":179,"readTime":17,"views":18,"isPinned":19,"publishedAt":180,"updatedAt":181,"category":182,"categories":188,"featuredImage":29,"bgImage":30,"posterImage":190,"relatedSolution":191},88,"استضافة-calcom-على-خادمك-الافتراضي-الخاص-vps",{"fr":175,"en":176,"ar":173,"es":177},"heberger-cal-com","host-calcom-on-your-own-vps","alojar-cal-com-en-un-vps","استضافة Cal.com على VPS: دليل Docker الشامل","انشر ‎Cal.com‎ على ‎VPS‎ مع ‎Docker‎ و‎PostgreSQL‎ ووكيل عكسي. حل ‎CLIENT_FETCH_ERROR‎ وثوابت التشغيل الأول والتحديث الآمن والتشخيص.","2026-03-24T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":183,"name":184,"slug":185,"color":186,"icon":187},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[189],{"id":183,"name":184,"slug":185,"color":186,"icon":187},"\u002Fblog\u002Fcovers\u002Fheberger-cal-com-poster.svg",{"categorySlug":185,"appSlug":34},{"id":193,"slug":194,"slugs":195,"title":199,"excerpt":200,"readTime":201,"views":202,"isPinned":19,"publishedAt":203,"updatedAt":181,"category":204,"categories":205,"featuredImage":29,"bgImage":30,"posterImage":207,"relatedSolution":29},219,"bsl-وsspl-مخاطر-تراخيص-المصدر-المتاح",{"fr":196,"en":197,"ar":194,"es":198},"bsl-sspl-licences-self-hosting","bsl-and-sspl-the-traps-of-source-available-licenses","bsl-y-sspl-trampas-licencias-source-available","‫BSL و‫SSPL: مخاطر تراخيص المصدر المتاح","‫BSL و‫SSPL و‫AGPLv3: افهم ما يُجيزه كل ترخيص وما يحظره قبل إضافة أي أداة إلى بنيتك التقنية.",12,1,"2026-08-04T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[206],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fbsl-sspl-licences-self-hosting-poster.svg",{"id":209,"slug":210,"slugs":211,"title":215,"excerpt":216,"readTime":217,"views":18,"isPinned":19,"publishedAt":218,"updatedAt":219,"category":220,"categories":226,"featuredImage":29,"bgImage":30,"posterImage":228,"relatedSolution":29},390,"إشارات-استدامة-تطبيق-مستضاف-ذاتيا",{"fr":212,"en":213,"ar":210,"es":214},"perennite-stack-self-hosted-signaux-resilience-projet","self-hosted-app-longevity-signals","senales-durabilidad-app-self-hosted","5 إشارات لتقييم استدامة تطبيق مستضاف ذاتياً","قبل نشر تطبيق مفتوح المصدر لعميل، خمسة مؤشرات قابلة للقياس لمعرفة ما إذا كان سيصمد على المدى البعيد — الحوكمة والتمويل والترخيص وأكثر.",10,"2026-09-27T00:00:00+00:00","2026-09-29T14:40:42+00:00",{"id":221,"name":222,"slug":223,"color":224,"icon":225},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[227],{"id":221,"name":222,"slug":223,"color":224,"icon":225},"\u002Fblog\u002Fcovers\u002Fperennite-stack-self-hosted-signaux-resilience-projet-poster.svg",1790987668194]