[{"data":1,"prerenderedAt":188},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-hedgedoc-على-vps-محرر-markdown-التعاوني-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":26,"intro":29,"sections":30,"ctaTitle":130,"ctaBody":131,"ctaButton":132,"ctaUrl":133,"relatedPosts":134},268,"استضافة-hedgedoc-على-vps-محرر-markdown-التعاوني",{"fr":10,"en":11,"ar":8},"heberger-hedgedoc-vps","self-host-hedgedoc-on-vps-the-collaborative-markdown-editor","استضافة ‎HedgeDoc‎ على ‎VPS‎ : محرر ‎Markdown‎ التعاوني","انشر ‎HedgeDoc 1.11.x‎ على خادم ‎VPS‎ الخاص بك في 15 دقيقة باستخدام ‎Docker‎ و‎Nginx‎. تحرير ‎Markdown‎ تعاوني في الوقت الفعلي، بدون ‎Google Docs‎.",10,0,false,"2026-08-15T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},4,"التطوير","developpement","bg-warning\u002F10 text-warning","dev",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-hedgedoc-vps-poster.svg","‎Google Docs‎ مناسب حتى يُفضّل فريقك كتابة الوثائق التقنية بـ‎Markdown‎ أو تضمين مقاطع كود بتلوين بناء جملة، أو ببساطة تجنّب استضافة ملاحظات الاجتماعات والمواصفات عند ‎Google‎. ‎HedgeDoc‎ (المعروف سابقاً بـ‎CodiMD‎) محرر ‎Markdown‎ تعاوني مفتوح المصدر (‎AGPL-3.0‎) يُنشَر في أقل من خمس عشرة دقيقة على ‎VPS‎ باستخدام ‎Docker Compose‎.",[31,35,44,63,66,70,73,121,124,127],{"type":32,"title":33,"body":34},"h2","لماذا ‎HedgeDoc‎ بدلاً من ‎Notion‎ أو ‎Google Docs‎؟","‎HedgeDoc‎ يمنح فريقك التقني: **‎Markdown‎ أصيل** مع عرض فوري، **تحرير تعاوني** بمؤشرات متعددة في آنٍ واحد، **مقاطع كود** مع تلوين بناء الجملة لأكثر من 200 لغة، **مخططات مدمجة** (‎Mermaid‎، ‎PlantUML‎)، **صيغ رياضية** (‎LaTeX‎ عبر ‎MathJax‎)، **تصدير بنقرة واحدة** إلى ‎PDF‎ أو ‎Markdown‎ أو ‎HTML‎، واستضافة على ‎VPS‎ الخاص بك.",{"type":36,"title":37,"items":38},"ul","المتطلبات الأساسية",[39,40,41,42,43],"خادم ‎VPS‎ يعمل بـ‎Ubuntu 22.04‎ أو ‎Debian 12‎ بـ **1 جيجابايت ذاكرة** كحد أدنى.","**‎Docker Engine ≥ 24‎** و‎Docker Compose V2‎ مثبّتان.","**اسم نطاق** يشير إلى ‎VPS‎ الخاص بك (مطلوب لـ‎TLS‎ — تحتاج ‎WebSockets‎ اتصالاً آمناً).","المنفذ **3000** متاح (المنفذ الافتراضي لـ‎HedgeDoc‎).","**‎Nginx‎** مثبَّت مع دعم ‎WebSocket‎ — ضروري.",{"type":45,"title":46,"steps":47},"steps","تثبيت ‎HedgeDoc‎ باستخدام ‎Docker Compose‎",[48,51,54,57,60],{"title":49,"body":50},"الخطوة 1 — إنشاء هيكل المشروع","```bash\nmkdir -p \u002Fopt\u002Fhedgedoc && cd \u002Fopt\u002Fhedgedoc\n```\n\nأنشئ ملف `docker-compose.yml` مع حاويتَي ‎PostgreSQL‎ و‎HedgeDoc‎، مستخدماً الصورة `quay.io\u002Fhedgedoc\u002Fhedgedoc:1.11.1`. اربط التطبيق بـ`127.0.0.1:3000:3000`.",{"title":52,"body":53},"الخطوة 2 — إنشاء ملف البيئة","```bash\ncat > \u002Fopt\u002Fhedgedoc\u002F.env \u003C\u003C 'EOF'\nPOSTGRES_PASSWORD=كلمة_مرور_قوية_هنا\nCMD_DOMAIN=hedgedoc.نطاقك.com\nCMD_SESSION_SECRET=سلسلة_عشوائية_طويلة_وثابتة\nEOF\n```\n\n⚠️ يجب أن تكون `CMD_SESSION_SECRET` **ثابتة** ولا تتغير أبداً بعد أول تشغيل. أنشئها بـ `openssl rand -base64 32`.",{"title":55,"body":56},"الخطوة 3 — تشغيل الحاويات","```bash\ndocker compose up -d\ndocker compose ps\ndocker compose logs app\n```\n\nسيُطبّق ‎HedgeDoc‎ ترحيلات قاعدة بيانات ‎PostgreSQL‎ تلقائياً عند أول إقلاع. بمجرد ظهور `listening on port 3000` في السجلات، يكون التطبيق جاهزاً.",{"title":58,"body":59},"الخطوة 4 — ضبط ‎Nginx‎ مع دعم ‎WebSocket‎","⚠️ يجب أن يتضمن إعداد ‎Nginx‎ لـ‎HedgeDoc‎ **كتلة `\u002Fsocket.io\u002F`** مع رؤوس ‎WebSocket‎. غيابها يُعطّل التعاون الفوري صامتاً.\n\n```nginx\nserver {\n    server_name hedgedoc.نطاقك.com;\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_set_header Host $host;\n    }\n    location \u002Fsocket.io\u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n    }\n}\n```",{"title":61,"body":62},"الخطوة 5 — إنشاء الحساب الأول","اذهب إلى `https:\u002F\u002Fnotes.نطاقك.com` وسجّل حسابك الأول (بريد إلكتروني + كلمة مرور). يصبح هذا الحساب هو المسؤول.\n\nلتعطيل التسجيل العام بعد الإعداد:\n```\nCMD_ALLOW_REGISTRATION=false\nCMD_ALLOW_ANONYMOUS=false\n```\nثم أعد تشغيل الحاوية: `docker compose up -d hedgedoc`.",{"type":32,"title":64,"body":65},"ميزات جديرة بالاكتشاف","**مشاركة ملاحظة:** لكل ملاحظة في ‎HedgeDoc‎ رابط فريد. انقر زر المشاركة للحصول على الرابط واختر وضع الوصول (للقراءة فقط، تعليقات، تحرير).\n\n**إدراج مخطط ‎Mermaid‎:**\n\n```mermaid\ngraph LR\n    A[العميل] --> B[واجهة برمجية]\n    B --> C[قاعدة بيانات]\n```\n\n**تصدير الملاحظة:** في القائمة (أيقونة ≡)، اختر **تصدير** للتنزيل بصيغة ‎Markdown‎ أو ‎HTML‎ أو ‎PDF‎.\n\n**وضع العرض التقديمي:** أضف `---` بين الأقسام لتحويلها إلى شرائح.",{"type":67,"title":68,"body":69},"tip","كتلة ‎Socket.io‎ مفقودة = تعاون معطّل صامتاً","الأعراض: الواجهة تُحمَّل بشكل طبيعي، يمكنك الكتابة في الملاحظات، لكن تغييرات المستخدمين الآخرين لا تظهر في الوقت الفعلي — دون رسالة خطأ.\n\nالتحقق السريع:\n```bash\ncurl -v -N -H \"Connection: Upgrade\" -H \"Upgrade: websocket\" \\\n  https:\u002F\u002Fhedgedoc.نطاقك.com\u002Fsocket.io\u002F?transport=websocket\n```\nيجب أن ترى `101 Switching Protocols`. إذا رأيت `200` أو `400`، فالكتلة مفقودة.",{"type":67,"title":71,"body":72},"‎proxy_pass‎ مع شرطة مائلة في النهاية = صفحة بيضاء أو خطأ 404","في توجيه `proxy_pass` في ‎Nginx‎، تُغيّر الشرطة المائلة النهائية السلوك:\n\n```nginx\n# صحيح — بدون شرطة مائلة نهائية\nproxy_pass http:\u002F\u002F127.0.0.1:3000;\n\n# خاطئ — الشرطة النهائية تُعيد كتابة المسار\nproxy_pass http:\u002F\u002F127.0.0.1:3000\u002F;\n```\n\nتتسبب الشرطة النهائية في كسر توجيه ‎HedgeDoc‎ الداخلي. احذف دائماً الشرطة المائلة النهائية.",{"type":74,"title":75,"headers":76,"rows":81},"comparison","‎HedgeDoc‎ مقابل ‎Notion‎ و‎Confluence‎",[77,78,79,80],"المعيار","‎HedgeDoc‎ (استضافة ذاتية)","‎Notion‎","‎Confluence‎ (سحابي)",[82,87,92,97,102,107,108,113,117],[83,84,85,86],"السعر","مجاني (تكلفة ‎VPS‎)","مجاني حتى 10 أعضاء، ثم ~10$\u002Fعضو\u002Fشهر","~5.75$\u002Fمستخدم\u002Fشهر (10 حد أدنى)",[88,89,90,91],"التنسيق","‎Markdown‎ أصيل","كتل احتكارية","محرر ثري (‎WYSIWYG‎)",[93,94,95,96],"مخططات أصيلة","‎Mermaid, PlantUML, Vega-lite‎","محدودة","عبر وحدات ماكرو",[98,99,100,101],"استضافة البيانات","‎VPS‎ الخاص بك","خوادم ‎Notion‎ (أمريكا)","خوادم ‎Atlassian‎",[103,104,105,106],"كتل الكود","200+ لغة مع تلوين","نعم (محدود)","نعم (عبر إضافة)",[98,99,100,101],[109,110,111,112],"تصدير ‎Markdown‎","نعم (أصيل)","جزئي","غير أصيل",[114,115,116,116],"التعاون في الوقت الفعلي","نعم (‎WebSocket‎)","نعم",[118,119,116,120],"صيغ ‎LaTeX‎","نعم (‎MathJax‎)","عبر إضافة",{"type":32,"title":122,"body":123},"النسخ الاحتياطي والتحديثات","```bash\n# نسخ احتياطي لـPostgreSQL\ndocker compose exec -T database pg_dump -U hedgedoc hedgedoc | gzip > \u002Fopt\u002Fhedgedoc\u002Fbackups\u002Fhedgedoc-$(date +%Y%m%d).sql.gz\n\n# تحديث HedgeDoc\ncd \u002Fopt\u002Fhedgedoc\ndocker compose pull app\ndocker compose up -d app\n```\n\nتُطبَّق ترحيلات قاعدة البيانات تلقائياً عند إقلاع الإصدار الجديد. تحقق من السجلات. الصورة الحالية: `quay.io\u002Fhedgedoc\u002Fhedgedoc:1.11.1`.",{"type":32,"title":125,"body":126},"إدارة المستخدمين والصلاحيات","تُدير ‎HedgeDoc‎ ثلاثة مستويات وصول لكل ملاحظة: **مفتوح** (الجميع يُعدّل بدون حساب)، **قابل للتحرير** (المستخدمون المسجّلون فقط)، **محدود** (المالك يُعدّل، الآخرون يُعلّقون)، **مقفل** (قراءة فقط للجميع باستثناء المالك)، **خاص** (المالك فقط).\n\n**تعطيل التسجيل العام:** عيّن `CMD_ALLOW_REGISTRATION: 'false'` في `.env`. أنشئ حسابات عبر ‎CLI‎: `docker compose exec app npm run manage_users -- --add user@email.com --password Password`.",{"type":32,"title":128,"body":129},"حل المشكلات الشائعة","**الواجهة تُحمَّل لكن التعاون الفوري لا يعمل:** تحقق من كتلة `\u002Fsocket.io\u002F` في ‎Nginx‎ (راجع التنبيه المخصص أعلاه).\n\n**خطأ 502 بعد الإقلاع:** انتظر 60 ثانية. تحقق أن `database` في حالة `healthy` بـ `docker compose ps`.\n\n**الصور المرفوعة تختفي بعد إعادة التشغيل:** تحقق أن حجم `uploads` مُثبَّت بشكل صحيح (نوع `volume` وليس `bind`).\n\n**خطأ في تصدير ‎PDF‎:** إذا لم يتضمن صورة ‎Docker‎ الخاصة بك ‎Chromium‎، عطّل تصدير ‎PDF‎ بـ `CMD_ALLOW_PDF_EXPORT: 'false'`.","‎VPS‎ لمنظومة التوثيق التعاونية الخاصة بك","يعمل ‎HedgeDoc‎ بكل راحة على 1 جيجابايت ذاكرة عشوائية. تبدأ خطط ‎VPS‎ لدينا بأسعار معقولة وتشمل لقطات يومية لحماية ملاحظات فريقك.","اكتشف خطط الوكالات","\u002Fsolutions\u002Fagences",[135,157,173],{"id":136,"slug":137,"slugs":138,"title":141,"excerpt":142,"readTime":143,"views":15,"isPinned":16,"publishedAt":144,"category":145,"categories":151,"featuredImage":26,"bgImage":27,"posterImage":153,"relatedSolution":154},148,"كيفية-استضافة-docmost-ذاتيا-على-vps",{"fr":139,"en":140,"ar":137},"self-host-docmost-vps","how-to-self-host-docmost-on-a-vps","كيفية استضافة Docmost ذاتيًا على VPS","انشر Docmost على VPS الخاص بك للحصول على ويكي فريق مُستضاف ذاتيًا مع تعاون في الوقت الفعلي. بديل مفتوح المصدر لـ Notion وConfluence — عبر Docker Compose في 15 دقيقة.",3,"2026-01-28T00:00:00+00:00",{"id":146,"name":147,"slug":148,"color":149,"icon":150},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[152],{"id":146,"name":147,"slug":148,"color":149,"icon":150},"\u002Fblog\u002Fcovers\u002Fself-host-docmost-vps-poster.svg",{"categorySlug":155,"appSlug":156},"التعاون-والإنتاجية","docmost",{"id":158,"slug":159,"slugs":160,"title":163,"excerpt":164,"readTime":165,"views":15,"isPinned":16,"publishedAt":166,"category":167,"categories":168,"featuredImage":26,"bgImage":27,"posterImage":170,"relatedSolution":171},183,"استضافة-memos-على-vps-ملاحظات-شخصية-وسجل-للفريق",{"fr":161,"en":162,"ar":159},"self-host-memos-vps","self-host-memos-on-a-vps-lightweight-notes-and-team-journal","استضافة Memos على VPS: ملاحظات شخصية وسجل للفريق","انشر Memos على خادمك — تطبيق ملاحظات مفتوح المصدر مع Markdown والوسوم والبحث الكامل وREST API. صورة 20 ميغابايت، استهلاك RAM أقل من 128 ميغابايت، SQLite، لا قاعدة بيانات خارجية.",5,"2026-07-18T00:00:00+00:00",{"id":146,"name":147,"slug":148,"color":149,"icon":150},[169],{"id":146,"name":147,"slug":148,"color":149,"icon":150},"\u002Fblog\u002Fcovers\u002Fself-host-memos-vps-poster.svg",{"categorySlug":155,"appSlug":172},"memos",{"id":174,"slug":175,"slugs":176,"title":179,"excerpt":180,"readTime":19,"views":15,"isPinned":16,"publishedAt":181,"category":182,"categories":183,"featuredImage":26,"bgImage":27,"posterImage":185,"relatedSolution":186},139,"حزمة-تطوير-docker-على-خادم-vps-بيئة-جاهزة-للبرمجة",{"fr":177,"en":178,"ar":175},"stack-dev-docker-vps","docker-dev-stack-on-a-vps-an-environment-ready-for-coding","حزمة تطوير Docker على خادم VPS: بيئة جاهزة للبرمجة","أنشئ حزمة تطوير Docker على خادم VPS: Compose والأحجام (volumes) والمنافذ والنسخ الاحتياطية والوصول الآمن للنمذجة السريعة.","2026-02-06T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[184],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fstack-dev-docker-vps-poster.svg",{"categorySlug":23,"appSlug":187},"docker-dev-stack",1787580937609]