[{"data":1,"prerenderedAt":224},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-penpot-على-vps-بديل-figma-مفتوح-المصدر-ma-ar":6,"promo-bar-likely":223},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-penpot-على-vps-بديل-figma-مفتوح-المصدر-ma-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":158,"ctaBody":159,"ctaButton":160,"ctaUrl":161,"relatedPosts":162},193,"استضافة-penpot-على-vps-بديل-figma-مفتوح-المصدر",{"fr":12,"en":13,"ar":10,"es":14},"self-host-penpot-vps","self-host-penpot-open-source-figma-alternative-on-your-vps","alojar-penpot-en-un-vps","استضافة Penpot على VPS: بديل Figma مفتوح المصدر","انشر Penpot على خادم ServOrbit الافتراضي واحصل على أداة تصميم تعاونية كاملة — تصميم متجهي، مكونات، تسليم للمطورين — دون اشتراك Figma أو بيانات تصميمك لدى طرف ثالث.",12,1,false,"2026-07-27T00:00:00+00:00","2026-11-04T16:30:26+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},4,"التطوير","developpement","bg-warning\u002F10 text-warning","dev",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-penpot-vps-poster.svg",{"categorySlug":34,"appSlug":35},"التعاون-والإنتاجية","penpot","أصبح Figma معيار تصميم الواجهات، لكنه يبقى خدمة مملوكة: ملفاتكم عند طرف ثالث وتُفوتر لكل مقعد. Penpot (برخصة MPL-2.0) هو البديل المفتوح المصدر: أداة تصميم تعاونية في الزمن الفعلي، مبنية على معايير الويب (SVG وCSS)، تستضيفونها بأنفسكم عبر Docker. يمضي هذا الدليل من التثبيت على VPS من ServOrbit إلى التشغيل اليومي: المتطلبات المحددة بالأرقام، والبريد الإلكتروني، والنسخ الاحتياطي، والتحديث، وحد الذاكرة، والاستيراد من Figma، وحل المشكلات برسائل الخطأ الحقيقية.",[38,42,53,56,96,99,127,130,133,136,140,143,146,149],{"type":39,"title":40,"body":41},"h2","Penpot مقابل Figma: ما الذي يغيّره البديل المفتوح المصدر فعلاً","يتشارك Figma وPenpot النموذج نفسه: تصميم متجهي داخل المتصفح، وتعاون في الزمن الفعلي، ومكوّنات قابلة لإعادة الاستخدام، وتسليم مدمج للمطورين. يكمن الفرق الجوهري في نموذج البيانات وفي التحكم. يخزّن Figma كل شيء على خوادمه بصيغة مملوكة. أما Penpot فيعتمد على SVG وCSS لغةً أساسية ويعمل على بنيتكم التحتية: أنتم تقررون أين تعيش الملفات، ومن يتصل، ومتى تُحدّثون. بالنسبة إلى فريق يستضيف شيفرته على Gitea ووثائقه على Docmost ومراسلاته على Mattermost، فإن استضافة أداة التصميم على ServOrbit أيضاً هي الخطوة المنطقية التالية. الثمن هو التشغيل: النسخ الاحتياطي والتحديثات وتحديد الحجم تصبح من مسؤوليتكم، وهذا ما تعالجه الأقسام التالية.",{"type":43,"title":44,"items":45},"ul","ما يقدمه Penpot مباشرةً",[46,47,48,49,50,51,52],"**تصميم متجهي في الزمن الفعلي** — عدة مصممين على الملف نفسه في آن واحد، مؤشرات مرئية، وتعليقات سياقية على الطبقات.","**مكوّنات ومكتبات مشتركة** — أنشئوا أنظمة تصميم وانشروها في مكتبات مشتركة بين المشاريع.","**تسليم أصلي للمطورين** — مفتش CSS، وتصدير الأصول، وملاحظات وقياسات مسافات مولّدة من التصاميم.","**نماذج أولية تفاعلية** — اربطوا اللوحات (boards) بانتقالات وحاكوا التنقل دون مغادرة الأداة.","**تخطيطات مرنة** — auto layouts وشبكات CSS وقيود إعادة التحجيم قريبة مما يوفره Figma.","**صيغ مفتوحة** — تصدير `.penpot` (أرشيف كامل) وتصدير SVG لكل لوحة، يُقرأ في Inkscape أو في أي محرر متجهي.","**خادم MCP** — تتيح خدمة `penpot-mcp` ملفاتكم للمساعدين المتوافقين مع MCP (انظروا الإطار المخصص أدناه).",{"type":39,"title":54,"body":55},"البنية: حزمة Docker واحدة ونقطة دخول HTTP وحيدة","Penpot حزمة من عدة حاويات. يعلن ملف Compose الذي ينشره المشروع، في الإصدار 2.18، ثماني خدمات: `penpot-frontend` و`penpot-backend` و`penpot-admin-console` و`penpot-mcp` و`penpot-exporter` و`penpot-postgres` و`penpot-valkey` و`penpot-mailpit`. يشغّل قالب ServOrbit مجموعة جزئية بحسب إصداره: يُقرأ العدد الدقيق بالأمر `docker compose ps` على الـ VPS. يعطي الجدول أدناه دور كل خدمة كما يصفه ملف Compose الأصلي. منفذ واحد فقط يهم من جهة التعريض: تستمع الواجهة الأمامية داخلياً على 8080 وينشرها Compose على 9001. ضعوا الوكيل العكسي أمام هذا المنفذ ولا شيء غيره.",{"type":57,"title":58,"headers":59,"rows":63},"comparison","خدمات حزمة Penpot",[60,61,62],"الخدمة","الدور","ما يجب معرفته",[64,68,72,76,80,84,88,92],[65,66,67],"`penpot-frontend`","يقدّم التطبيق ويوجّه الطلبات إلى بقية الخدمات","الخدمة الوحيدة التي تُعرَّض: المنفذ 9001 في Compose الأصلي",[69,70,71],"`penpot-backend`","واجهة API والمنطق الوظيفي (تطبيق Java\u002FClojure)","الملفات (assets) في وحدة تخزين؛ يُضبط SMTP والتخزين هنا",[73,74,75],"`penpot-exporter`","تصدير PNG وPDF وSVG عبر متصفح بلا واجهة","يصل إلى التطبيق عبر `PENPOT_PUBLIC_URI`: شهادة صالحة مطلوبة",[77,78,79],"`penpot-postgres`","قاعدة PostgreSQL 15: الحسابات والمشاريع والملفات","وحدة التخزين `penpot_postgres_v15` يجب نسخها احتياطياً",[81,82,83],"`penpot-valkey`","إشعارات الزمن الفعلي (websockets) وذاكرة مؤقتة","محدودة بـ 128 ميغابايت (`--maxmemory 128mb`) في Compose الأصلي",[85,86,87],"`penpot-mcp`","خادم MCP لمساعدي الذكاء الاصطناعي","يُفعَّل بالعلم `enable-mcp`، وwebsocket على `\u002Fmcp\u002Fws`",[89,90,91],"`penpot-admin-console`","وحدة التحكم الإدارية","أُضيفت إلى الحزمة في 2.18، العلم `enable-admin-console`",[93,94,95],"`penpot-mailpit`","صندوق SMTP للاختبار (واجهته على المنفذ 8025)","يُستبدل بخادم SMTP حقيقي في الإنتاج",{"type":39,"title":97,"body":98},"المتطلبات بالأرقام: الذاكرة والمعالج والقرص والمنافذ","لا تنشر الوثائق الأصلية حداً أدنى لفريق صغير. فهي تذكر أن 4 معالجات و16 غيغابايت من الذاكرة تكفي لخدمة آلاف المستخدمين، وتتيح لكم التحفظ عند تخصيص الموارد. وبالنسبة إلى القرص توصي بالبدء بمساحة قاعدة بيانات بين 50 و100 غيغابايت قابلة للتوسع، وهي تغطي حتى 10 محررين، ثم نحو 5 غيغابايت إضافية لكل محرر زائد. الحجم الفعلي يتبع الاستخدام وتعقيد الملفات لا عدد الحسابات. توصيتنا التحريرية لفريق من بضعة أشخاص: VPS بذاكرة 4 غيغابايت مع حد لكل خدمة (قسم الذاكرة أدناه)، وهو يترك هامشاً لتصدير الملفات الثقيلة؛ ويكفي 2 غيغابايت للتجربة. على مستوى الشبكة افتحوا 80 و443 نحو الوكيل العكسي، ولا تفتحوا 9001 أو 8025 مباشرةً. الحد الأقصى لجسم الطلب في Compose هو 367001600 بايت (350 ميبيبايت): يجب أن يوافقه `client_max_body_size` في وكيلكم. أما على جهاز المستخدم فتوصي الوثائق بآخر إصدار مستقر من Chrome.",{"type":100,"title":101,"steps":102},"steps","النشر في 8 خطوات",[103,106,109,112,115,118,121,124],{"title":104,"body":105},"اطلبوا VPS من ServOrbit","خصصوا 4 غيغابايت من الذاكرة للاستخدام الجماعي و2 غيغابايت للتجربة. Ubuntu 24.04 LTS هو القالب الافتراضي. أبقوا 50 غيغابايت على الأقل من القرص حرة إن كنتم تستوردون ملفات كبيرة.",{"title":107,"body":108},"وجّهوا نطاقاً فرعياً إلى الـ VPS","أنشئوا سجل A للنطاق `design.your-domain.com` يشير إلى عنوان IP الخاص بالـ VPS. يصدر مزوِّد ServOrbit شهادة Let's Encrypt. نطاق بـ HTTPS ضروري: يضع Penpot ملفات تعريف ارتباط الجلسة بالسمة `secure` افتراضياً، وتحصر الوثائق الأصلية العلم `disable-secure-session-cookies` بالتجارب خارج الإنتاج.",{"title":110,"body":111},"ثبّتوا من السوق","في لوحة ServOrbit: السوق، التعاون، Penpot، نشر. تشغّل مهمة AWX الحاويات وتولّد `PENPOT_SECRET_KEY` وتضبط `PENPOT_PUBLIC_URI` على نطاقكم. تستجيب الواجهة على `https:\u002F\u002Fdesign.your-domain.com` خلال دقائق.",{"title":113,"body":114},"تحققوا من تشغيل كل الخدمات","اتصلوا عبر SSH ونفّذوا `docker compose ls` لتحديد ملف Compose، ثم `docker compose -p penpot -f docker-compose.yaml ps`. يجب أن تكون كل خدمة في حالة `running`، وأن تكون `penpot-postgres` و`penpot-valkey` في حالة `healthy`. تُقرأ السجلات بالأمر `docker compose -p penpot -f docker-compose.yaml logs -f`.",{"title":116,"body":117},"أنشئوا حسابكم","التسجيل مفتوح افتراضياً. افتحوا `https:\u002F\u002Fdesign.your-domain.com` وانقروا « إنشاء حساب »: في Compose الأصلي التحقق بالبريد الإلكتروني معطّل (`disable-email-verification`)، فيصبح الحساب فعالاً فوراً. أنشئوا حسابكم حالاً قبل أن يفعل ذلك غيركم.",{"title":119,"body":120},"أغلقوا التسجيل العام","أضيفوا العلم `disable-registration` إلى `PENPOT_FLAGS` (الواجهة الأمامية والخلفية) ثم أعيدوا إنشاء الحاويات. تستمر الدعوات في العمل ما دام `enable-login-with-password` مفعّلاً. لإنشاء حساب دون دعوة نفّذوا `docker exec -ti penpot-penpot-backend-1 python3 manage.py create-profile`: يتطلب السكربت العلم `enable-prepl-server`، وقد يختلف اسم الحاوية، فتحققوا منه بالأمر `docker ps`.",{"title":122,"body":123},"اربطوا خادم SMTP حقيقياً","بدون SMTP لا تُرسل أي دعوة ولا رسالة لإعادة تعيين كلمة المرور. انظروا القسم التالي لمعرفة المتغيرات.",{"title":125,"body":126},"استوردوا ملفات Figma","لا يفتح Penpot ملفات `.fig` مباشرةً. المسار الرسمي يمر عبر إضافة Figma المسماة « Penpot Exporter »، وهي تنتج أرشيف `.zip` يُستورد في Penpot. يرد الإجراء وحدوده مفصلاً أدناه.",{"type":39,"title":128,"body":129},"الإعداد بعد التثبيت: البريد الإلكتروني وتخزين الملفات","بالنسبة إلى البريد فعّلوا `enable-smtp` في `PENPOT_FLAGS` واضبطوا في الخلفية `PENPOT_SMTP_DEFAULT_FROM` و`PENPOT_SMTP_DEFAULT_REPLY_TO` و`PENPOT_SMTP_HOST` و`PENPOT_SMTP_PORT` (القيمة 587 في المثال الأصلي) و`PENPOT_SMTP_USERNAME` و`PENPOT_SMTP_PASSWORD` و`PENPOT_SMTP_TLS`. يشير Compose الأصلي افتراضياً إلى `penpot-mailpit` الذي يحتفظ بالرسائل في الذاكرة ويفقدها عند إعادة إنشاء الحاوية. في الإنتاج أزيلوا أيضاً `disable-email-verification` الذي لا تنصح به الوثائق خارج التجارب. أما بالنسبة إلى الملفات فتُخزَّن الصور ومقاطع SVG التي يرفعها المستخدمون افتراضياً على نظام الملفات، في وحدة التخزين `penpot_assets` المركّبة على `\u002Fopt\u002Fdata\u002Fassets` (`PENPOT_OBJECTS_STORAGE_BACKEND: fs`). والتخزين المتوافق مع S3 ممكن عبر `PENPOT_OBJECTS_STORAGE_BACKEND: s3` مع bucket ونقطة نهاية اختيارية والمتغيرين `AWS_ACCESS_KEY_ID` و`AWS_SECRET_ACCESS_KEY`. منذ الإصدار 2.11.0 استُبدلت الأسماء القديمة `PENPOT_STORAGE_ASSETS_*` بالأسماء `PENPOT_OBJECTS_STORAGE_*`: إن أعدتم استخدام ملف Compose قديم فغيّروا أسماءها.",{"type":39,"title":131,"body":132},"النسخ الاحتياطي والتحديث","لنسخة Penpot حالتان يجب نسخهما معاً: قاعدة PostgreSQL ووحدة تخزين الملفات. تحذّر الوثائق الأصلية من أنه لا يمكن نسخ مجلد بيانات وحدة تخزين Docker مباشرةً، وتحيل إلى إجراء النسخ الاحتياطي لوحدات التخزين في Docker. نهجنا: تصدير منطقي للقاعدة بالأمر `docker exec penpot-penpot-postgres-1 pg_dump -U penpot penpot > penpot.sql`، ثم أرشفة وحدة تخزين الملفات عبر حاوية مؤقتة تركّبها للقراءة فقط. اعثروا على أسماء الوحدات بالأمر `docker volume ls`. خذوا النسختين في اللحظة نفسها، وإلا قد تشير القاعدة إلى ملفات غائبة عن الأرشيف، وجرّبوا الاستعادة على VPS آخر قبل أن تحتاجوا إليها. وللتحديث ثبّتوا الإصدار عبر `PENPOT_VERSION` بدل اتباع آخر صورة، ونفّذوا `docker compose -p penpot -f docker-compose.yaml pull` ثم `up -d`، وتقدموا بخطوات صغيرة: تنصح الوثائق بعدم القفز بين إصدارات متباعدة. في 1 نوفمبر 2026 كان آخر إصدار منشور هو 2.18.5. وإن كنتم تصونون ملف Compose خاصاً بكم، فقد أضاف الإصدار 2.18 خدمة `penpot-admin-console` والمتغير `PENPOT_ADMIN_CONSOLE_URI` في الواجهة الأمامية والخلفية. انسخوا احتياطياً دائماً قبل التحديث.",{"type":39,"title":134,"body":135},"الذاكرة: ما يرد في البلاغ #3299 وكيف نضع لها حداً","البلاغ #3299 في مشروع penpot، المفتوح في يونيو 2023، ما زال مفتوحاً وتلقى رسالة في أكتوبر 2026. يجمع شهادات عن استهلاك مرتفع للذاكرة في تثبيتات Docker: مستخدم يذكر نحو 20 غيغابايت مشغولة بعد ثلاثة إلى أربعة أيام على خادم بذاكرة 64 غيغابايت، وآخر أكثر من 50 غيغابايت تطلبها آلة افتراضية بلا مستخدمين، وثالث 15 غيغابايت لمستخدم واحد مع إعادة تشغيل الخلفية كل 12 ساعة. هذه تقارير فردية لم يُعد إنتاجها: يرد عضو في فريق Penpot داخل النقاش بأن لديهم تثبيتات Docker بحركة كبيرة دون هذا العرض، ويطلب ملفاً وسجلات للتشخيص. لذلك لا يمكننا الوعد برقم استهلاك. ما يمكننا قوله هو كيف لا نترك خدمة واحدة تقرر وحدها: الخلفية عملية Java، ومن دون حد على الحاوية تحدد آلة Java الافتراضية حجم الـ heap بحسب الذاكرة التي تراها، أي ذاكرة المضيف كله. حد لكل خدمة يحوّل انحرافاً صامتاً إلى إعادة تشغيل مضبوطة.",{"type":137,"title":138,"body":139},"tip","تحديد الذاكرة: حد ومراقبة وإعادة تشغيل مجدولة","يذكر أحد المساهمين في النقاش #3299 أنه أضاف `mem_limit: 12g` إلى كل خدمات Compose ليبقى الاستهلاك محتملاً. على VPS بذاكرة 4 غيغابايت ضعوا قيماً أقل، مثلاً `mem_limit: 2g` على `penpot-backend` و`mem_limit: 1g` على `penpot-exporter`، واتركوا الباقي لـ PostgreSQL والنظام. يضيف سكربت تشغيل الخلفية `JVM_OPTS` و`JAVA_OPTS` إلى سطر أوامر Java: يمكنكم تمرير `-XX:MaxRAMPercentage=70` هناك، وهو خيار قياسي في JVM، لكن وثائق Penpot لا تصف أي ضبط لـ JVM، فجرّبوه قبل الإنتاج. راقبوا بالأمر `docker stats --no-stream`، وإن انحرفت الخلفية رغم الحد فجدولوا إعادة تشغيل ليلية (`docker compose -p penpot -f docker-compose.yaml restart penpot-backend`): يعيد المتعاونون وصل websockets. Valkey محدود أصلاً بـ 128 ميغابايت في Compose الأصلي. وإن بلغتم الحد كثيراً فهذه إشارة لاختيار عرض VPS بذاكرة أكبر، لا لرفع الحد عشوائياً.",{"type":39,"title":141,"body":142},"استيراد ملفاتكم من Figma","خلافاً لما يُقرأ أحياناً، لا يستورد Penpot ملف `.fig`. يصون المشروع إضافة لـ Figma اسمها « Penpot Exporter » تحوّل ملف Figma إلى أرشيف `.zip` قابل للاستيراد. في Figma افتحوا الملف، ثم Resources ثم Plugins، وابحثوا عن « Penpot Exporter » وشغّلوا التصدير. في Penpot افتحوا قائمة النقاط الثلاث لمشروع أو للمسودات، واختاروا « Import Penpot files » وحددوا ملف `.zip`. بحسب README الخاص بالإضافة يُنقل ما يلي: الأشكال الأساسية والمتجهات والإطارات والأقسام (لوحات boards في Penpot) والمجموعات والأقنعة والنصوص والتعبئة والحدود والظلال والمكوّنات ونسخها وauto layouts والنسخ المتغيرة ومكتبات الألوان والخطوط. ولا تُنقل إعدادات النماذج الأولية. تبقى الملفات الضخمة نقطة صعبة لأن التصدير يمر على كل عقدة تحت حدود واجهة Figma البرمجية، وقد تختلف بعض عمليات العرض قليلاً. استوردوا ملف اختبار أولاً، وقارنوا المكوّنات والخطوط، ثم انقلوا الباقي. تُرفع الخطوط المخصصة إلى Penpot.",{"type":39,"title":144,"body":145},"دمج Penpot في سير عمل Git","لا يخزّن Penpot تصاميمكم كملفات نصية في مستودع: مصدر الحقيقة هو قاعدة PostgreSQL. غير أن تصديرين يناسبان Git. أرشيف `.penpot` نسخة احتياطية محمولة لملف. وتصدير SVG للوحة ينتج نصاً مقروءاً يمكنكم رفعه إلى Gitea، مثلاً لأيقونات ورسوم نظام التصميم. يعرض طلب الدمج حينئذ الفرق في SVG، ويمكن لخط CI أن يكشف تغييراً غير متوقع. يبقى هذا النهج اتفاقاً داخل الفريق: يفترض إعادة التصدير بعد كل تغيير، وهو ما يمكن لسكربت أو لمراجعة تصميم أن يذكّركم به.",{"type":137,"title":147,"body":148},"Penpot MCP: قودوا تصاميمكم من مساعد ذكاء اصطناعي","يتضمن Compose الأصلي خدمة `penpot-mcp` تُفعَّل بالعلم `enable-mcp`، ويجب أن يمرر وكيلها العكسي websocket على `\u002Fmcp\u002Fws` إضافةً إلى `\u002Fws\u002Fnotifications`. يستطيع حينئذ عميل متوافق مع MCP أن يتصل بنسختكم. اقصروا هذا الوصول على حسابات موثوقة وقدّموه عبر HTTPS. جرّبوا أولاً على ملف مسودة، ثم عمّموا إن أقنعتكم النتيجة.",{"type":43,"title":150,"items":151},"حل المشكلات: الأخطاء المبلَّغ عنها فعلاً",[152,153,154,155,156,157],"**شريط « Something wrong has happened » أو رفض ملف تعريف الارتباط `auth-token`** — أُبلغ عنه على خادم يُوصَل إليه عبر HTTP من الشبكة المحلية. جواب عضو في فريق Penpot: ملفات تعريف الارتباط بالسمة `secure` افتراضياً، فيجب تقديم الواجهة الأمامية والخلفية عبر HTTPS. قدّموا النسخة خلف شهادة صالحة واضبطوا `PENPOT_PUBLIC_URI` على العنوان الدقيق.","**خطأ داخلي بعد بضع نقرات على التسجيل أو الدخول** — أُبلغ عنه مع `disable-secure-session-cookies` على وصول HTTP عام. العلاج نفسه: HTTPS. هذا العلم ليس حلاً للإنتاج.","**`WebSocket connection to 'wss:\u002F\u002F…\u002Fws\u002Fnotifications…' failed: Invalid frame header`** — أُبلغ عنه فور تسجيل الدخول مع تجمّد الواجهة خلف Nginx. الجواب المقدَّم في المجتمع هو تمرير `\u002Fws\u002Fnotifications` مع الترويستين `Upgrade` و`Connection` إلى المنفذ 9001. ولا يؤكد النقاش أن ذلك حلّ حالة صاحب السؤال.","**`net::ERR_CERT_AUTHORITY_INVALID` في سجلات `penpot-exporter`** — يفشل التصدير. يحمّل المصدِّر التطبيق عبر `PENPOT_PUBLIC_URI`: ومع شهادة موقّعة ذاتياً أو غير معروفة لا يستطيع التحقق من الاتصال. استخدموا شهادة صادرة عن جهة معروفة.","**تصدير PDF ينتهي مهلته دون رسالة واضحة** — أُبلغ عنه في تثبيت يدوي كان المصدِّر يتلقى فيه `PENPOT_PUBLIC_URI=http:\u002F\u002Flocalhost`. يجب أن يصل المصدِّر إلى العنوان العام للتطبيق لا إلى عنوان محلي لحاويته هو.","**تعذّر تسجيل الدخول ولا خيط واضح** — تحققوا أولاً من `docker compose -p penpot -f docker-compose.yaml ps`، ثم من سجلات الخدمة المعنية، ومن وحدة تحكم المتصفح (F12) التي تعرض إصدار Penpot الدقيق والطلبات الفاشلة.","استوديو تصميمك تحت سيطرتك","انشر Penpot على خادم ServOrbit وامنح فريقك مساحة تصميم تعاونية ذات سيادة — دون اشتراك لكل مستخدم أو بيانات تصميم لدى Adobe.","نشر Penpot","\u002Fapplications\u002Fالتعاون-والإنتاجية\u002Fpenpot",[163,186,205],{"id":164,"slug":165,"slugs":166,"title":170,"excerpt":171,"readTime":172,"views":173,"isPinned":19,"noindex":19,"publishedAt":174,"updatedAt":21,"category":175,"categories":181,"featuredImage":30,"bgImage":31,"posterImage":183,"relatedSolution":184},148,"كيفية-استضافة-docmost-ذاتيا-على-vps",{"fr":167,"en":168,"ar":165,"es":169},"self-host-docmost-vps","how-to-self-host-docmost-on-a-vps","como-autoalojar-docmost-en-un-vps","كيفية استضافة Docmost ذاتيًا على VPS","انشر Docmost على VPS الخاص بك للحصول على ويكي فريق مُستضاف ذاتيًا مع تعاون في الوقت الفعلي. بديل مفتوح المصدر لـ Notion وConfluence — عبر Docker Compose في 15 دقيقة.",3,0,"2026-01-28T00:00:00+00:00",{"id":176,"name":177,"slug":178,"color":179,"icon":180},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[182],{"id":176,"name":177,"slug":178,"color":179,"icon":180},"\u002Fblog\u002Fcovers\u002Fself-host-docmost-vps-poster.svg",{"categorySlug":34,"appSlug":185},"docmost",{"id":187,"slug":188,"slugs":189,"title":193,"excerpt":194,"readTime":195,"views":196,"isPinned":19,"noindex":19,"publishedAt":197,"updatedAt":198,"category":199,"categories":200,"featuredImage":30,"bgImage":31,"posterImage":202,"relatedSolution":203},76,"استضافة-mattermost-على-خادم-vps-الخاص-بك",{"fr":190,"en":191,"ar":188,"es":192},"heberger-mattermost","host-mattermost-on-your-own-vps","alojar-mattermost-en-un-vps","استضافة ‎Mattermost‎ على خادم ‎VPS‎ الخاص بك","دليل كامل 2026: نشر ‎Mattermost v10\u002Fv11‎ على ‎VPS‎ مع ‎Docker‎ و‎PostgreSQL‎ و‎SSL‎ والتكاملات والنسخ الاحتياطية. بديل ذاتي الاستضافة عن ‎Slack‎.",9,5,"2026-04-05T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":176,"name":177,"slug":178,"color":179,"icon":180},[201],{"id":176,"name":177,"slug":178,"color":179,"icon":180},"\u002Fblog\u002Fcovers\u002Fheberger-mattermost-poster.svg",{"categorySlug":178,"appSlug":204},"mattermost",{"id":206,"slug":207,"slugs":208,"title":212,"excerpt":213,"readTime":214,"views":18,"isPinned":19,"noindex":19,"publishedAt":215,"updatedAt":216,"category":217,"categories":218,"featuredImage":30,"bgImage":31,"posterImage":220,"relatedSolution":221},74,"استضافة-gitea-على-خادم-vps-الخاص-بك",{"fr":209,"en":210,"ar":207,"es":211},"heberger-gitea","host-gitea-on-your-own-vps","alojar-gitea-en-un-vps","استضافة Gitea على خادم VPS الخاص بك في 2026","انشُر ‏Gitea 1.25‏ على خادم VPS مع Docker وSSL. دليل شامل: CI\u002FCD مع ‏Gitea Actions‏، مقارنة ‏Gitea‏ مقابل ‏Forgejo v16‏، إدارة يومية، استكشاف أخطاء SSH وHTTPS.",13,"2026-04-07T00:00:00+00:00","2026-11-08T16:32:50+00:00",{"id":176,"name":177,"slug":178,"color":179,"icon":180},[219],{"id":176,"name":177,"slug":178,"color":179,"icon":180},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":24,"appSlug":222},"gitea",true,1794270237150]