[{"data":1,"prerenderedAt":159},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-reactive-resume-على-vps-أنشئ-سيرك-الذاتية-وشاركها-ma-ar":6,"promo-bar-likely":158},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-reactive-resume-على-vps-أنشئ-سيرك-الذاتية-وشاركها-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":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":94,"ctaBody":95,"ctaButton":96,"ctaUrl":97,"relatedPosts":98},233,"استضافة-reactive-resume-على-vps-أنشئ-سيرك-الذاتية-وشاركها",{"fr":12,"en":13,"ar":10,"es":14},"self-host-reactive-resume-vps","self-host-reactive-resume-on-a-vps-build-and-share-your-cvs","autoalojar-reactive-resume-en-un-vps","استضافة Reactive Resume على VPS: أنشئ سيرك الذاتية وشاركها","انشر Reactive Resume على خادم VPS — منشئ السيرة الذاتية مفتوح المصدر مع تصدير PDF من المتصفح، بلا Chrome أو Browserless. رخصة MIT، 42 ألف+ نجمة، الإصدار 5.3.0.",7,1,false,"2026-08-07T00:00:00+00:00","2026-11-04T16:30:26+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[28],{"id":17,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-reactive-resume-vps-poster.svg",{"categorySlug":33,"appSlug":34},"التعاون-والإنتاجية","reactive-resume","‏Reactive Resume منشئ سير ذاتية مفتوح المصدر (MIT) يتجاوز 42 000 نجمة على ‏GitHub. منذ الإصدار 5.1.0 يُولِّد ملفات PDF مباشرةً في المتصفح دون أي خدمة طباعة على الخادم. النتيجة: حاويتان خفيفتان تكفيان لتشغيل نسخة كاملة، وخادم ‏VPS بذاكرة 1 جيجابايت يستوعب الأداة دون تنازلات.",[37,41,53,56,78,81,85,88,91],{"type":38,"title":39,"body":40},"h2","لماذا استضافة منشئ CV ذاتيًا","تُجوِّل أدوات ‏SaaS لبناء السيرة الذاتية تاريخ مسيرتك المهنية وتُقيِّد الوصول إلى القوالب أو تفرض رسومًا على تنزيل ‏PDF. الاستضافة الذاتية لـ ‏Reactive Resume تعكس هذا النموذج: سيرك الذاتية وصورك وتصديراتك تبقى في حجم ‏Docker على ‏VPS الخاص بك، قابلة للتصدير عبر واجهة المستخدم أو ‏REST API، ومشاركتها تحت نطاقك الخاص. بلا حدود للقوالب، بلا علامات مائية، بلا اشتراك مُلزِم.\n\nتمنحك الاستضافة الذاتية أيضًا سيطرةً كاملة على البيانات الحساسة التي تتضمنها السيرة الذاتية — معلومات الاتصال الشخصية وتاريخ العمل والمهارات. لا تعبر هذه البيانات عبر طرف ثالث ولا تُخزَّن لديه.",{"type":42,"title":43,"items":44},"ul","ما تحصل عليه مع Reactive Resume المستضاف ذاتيًا",[45,46,47,48,49,50,51,52],"محرِّر مرئي بالسحب والإفلات في المتصفح — بلا تطبيق للتثبيت، يعمل على أي جهاز.","مكتبة قوالب احترافية متوافقة مع أنظمة ATS — تخطيطات متعددة لقطاعات ومستويات خبرة مختلفة.","‏تصدير PDF من جانب المتصفح بالكامل منذ الإصدار 5.1.0 — بلا ‏Chrome أو ‏Puppeteer أو ‏Browserless على الخادم.","رابط عام للسيرة الذاتية — شارك ملفك على رابط مقروء يُحدَّث فوريًا.","عدة سير ذاتية لكل حساب — اشتق نسخًا حسب المنصب أو اللغة دون تكرار العمل.","‏REST API — أنشئ السير الذاتية وصدِّرها برمجيًا للتكامل مع أدوات الموارد البشرية.","تخزين محلي — تُكتب الملفات المرفوعة (الصور الشخصية وصور الأعمال) في وحدة تخزين ‏Docker دون حاجة إلى ‏S3.","‏توثيق OAuth اختياري — صِّل حساب ‏GitHub أو ‏Google بإضافة مفاتيح ‏API المقابلة إلى الإعدادات.",{"type":38,"title":54,"body":55},"المتطلبات الأساسية","خادم ‏ServOrbit VPS بنظام ‏Ubuntu 24.04 وذاكرة لا تقل عن 1 جيجابايت. يستهلك تطبيق ‏Node.js نحو 300 ميجابايت أثناء الخمول، ويضيف ‏PostgreSQL 16 من 100 إلى 200 ميجابايت — ويكفي خادم بذاكرة 1 جيجابايت للاستخدام الشخصي أو لفريق صغير.\n\n‏يُثبِّت ‏AWX كلًا من ‏Docker و‏Docker Compose تلقائيًا عند النشر. اسم النطاق **مطلوب**: يثبِّت ‏Reactive Resume رابط المصادقة (`APP_URL`) عند أول تشغيل ولا يمكنه العمل خلف عنوان ‏IP وحده.\n\nإن كنت تنوي تفعيل التحقق من الحساب عبر البريد الإلكتروني، فيُنصح بتوفير خادم ‏SMTP صادر. بدونه يظهر رابط التحقق في سجلات ‏Docker — مناسب للاستخدام الفردي، وأقل ملاءمةً عند فتح الوصول لمستخدمين آخرين.",{"type":57,"title":58,"steps":59},"steps","انشر Reactive Resume على خادم VPS الخاص بك",[60,63,66,69,72,75],{"title":61,"body":62},"اختر النطاق النهائي قبل النشر","‏يُثبِّت ‏Reactive Resume ‏`APP_URL` في رموز المصادقة وردود ‏OAuth عند أول تشغيل. تغيير النطاق لاحقًا يُبطل جميع الجلسات ويستلزم حذف وحدة تخزين ‏PostgreSQL. أنشئ سجل ‏DNS من النوع ‏A — مثلًا `cv.yourdomain.com` — وانتظر الانتشار قبل النشر.",{"title":64,"body":65},"نشر بنقرة واحدة من سوق ServOrbit","افتح لوحة تحكم ‏ServOrbit، اذهب إلى سوق التطبيقات ← ‏Reactive Resume، أدخل نطاقك وانقر نشر. يُثبِّت ‏AWX ‏Docker ويولِّد سرًّا عشوائيًا ويضبط ‏nginx مع ‏TLS ‏Let's Encrypt ويشغِّل الحاويتين في أقل من دقيقتين.",{"title":67,"body":68},"أنشئ حسابك وتحقق من بريدك","انتقل إلى ‏`https:\u002F\u002Fcv.yourdomain.com` وانقر ‏Sign Up لإنشاء حسابك. بدون ‏SMTP يظهر رابط التحقق في سجلات ‏Docker: `docker compose logs reactive-resume | grep verify`. انقر الرابط لتفعيل حسابك.",{"title":70,"body":71},"أنشئ سيرتك الذاتية الأولى","انقر على + لإنشاء سيرة ذاتية جديدة. اختر قالبًا وأملأ أقسامك (الملخص والخبرة والتعليم والمهارات) في اللوحة اليسرى وشاهد النتيجة في الوقت الفعلي على اليمين. انقر تنزيل لتصدير ‏PDF — التصيير من جانب المتصفح فورًا بلا انتظار.",{"title":73,"body":74},"شارك سيرتك الذاتية علنًا","في إعدادات السيرة الذاتية، فعِّل ‏CV public. يولِّد ‏Reactive Resume رابطًا قابلًا للمشاركة — `https:\u002F\u002Fcv.yourdomain.com\u002Fr\u002Fyour-name` — يخدم دائمًا أحدث نسخة. شارك هذا الرابط في طلبات التوظيف بدلًا من إرفاق ‏PDF ثابت تحتاج إلى إعادة إرساله عند كل تحديث.",{"title":76,"body":77},"ضبط توثيق OAuth (اختياري)","للسماح بتسجيل الدخول عبر ‏GitHub أو ‏Google، أضف متغيرات البيئة المقابلة إلى إعدادات النشر: `GITHUB_CLIENT_ID` و`GITHUB_CLIENT_SECRET` و`GOOGLE_CLIENT_ID` و`GOOGLE_CLIENT_SECRET`. أعد تشغيل الحاويات بعد ذلك بـ `docker compose restart`. تظهر أزرار الدخول الاجتماعي تلقائيًا على صفحة تسجيل الدخول بمجرد توفر المتغيرات.",{"type":38,"title":79,"body":80},"أهم تغيير في الإصدار 5.1.0: تصدير PDF بلا خادم طباعة","حتى الإصدار 5.0 كان ‏Reactive Resume يعتمد على ‏Browserless أو ‏Chromium بلا واجهة لتوليد ملفات ‏PDF على الخادم، أي 700 ميجابايت إلى 1 جيجابايت إضافية من الذاكرة وتبعية يجب صيانتها. منذ الإصدار 5.1.0 يتولّى `@react-pdf\u002Frenderer` التوليد، وهي مكتبة ‏JavaScript تعمل مباشرة في متصفح المستخدم. لا يرى الخادم سوى طلب حفظ المستند — بلا ‏Chrome، بلا ‏Puppeteer، بلا خدمة طباعة على البنية التحتية. وهذا ما يُعيد الحد الأدنى للتشغيل إلى حاويتين خفيفتين.",{"type":82,"title":83,"body":84},"tip","حافظ على سرية مفتاح التوثيق","يولِّد نشر ‏ServOrbit تلقائيًا قيمةً عشوائية لـ `SECRET_KEY`. لا تعد استخدام قيمة متوقعة أو تشاركها بين نسخ متعددة. إن اشتبهت في اختراقها، أعد توليدها وأعد تشغيل الحاويات: ستُبطَل جميع الجلسات النشطة ويُجبَر المستخدمون على تسجيل الدخول مجددًا — وهذا هو السلوك المتوقع.",{"type":38,"title":86,"body":87},"استخدام REST API لأتمتة التصدير","يكشف ‏Reactive Resume واجهة ‏REST API كاملة على المسار `\u002Fapi\u002Fv3`. يمكنك إنشاء السير الذاتية وتحديثها وتشغيل تصدير ‏PDF برمجيًا — مفيد لدمج توليد السير الذاتية في سير عمل الموارد البشرية أو في مسار تقديم طلبات آلي.\n\nللمصادقة، احصل على رمز ‏JWT عبر `POST \u002Fapi\u002Fv3\u002Fauth\u002Flogin` ببيانات اعتمادك، ثم مرِّر الرمز في الترويسة `Authorization: Bearer \u003Ctoken>` مع كل طلب.\n\nمثال — استرداد قائمة سيرك الذاتية:\n\n```bash\ncurl -s -H \"Authorization: Bearer \u003Cyour-token>\" \\\n  https:\u002F\u002Fcv.yourdomain.com\u002Fapi\u002Fv3\u002Fresume | jq '.[].title'\n```\n\nتتوفر الوثائق الكاملة لواجهة ‏API في المستودع الرسمي.",{"type":38,"title":89,"body":90},"النسخ الاحتياطي وقابلية نقل البيانات","وحدتا تخزين ‏Docker تحملان الخدمة بأكملها: `reactive_resume_db` لقاعدة ‏PostgreSQL (الحسابات والسير الذاتية والإعدادات) و`reactive_resume_data` للملفات المرفوعة (الصور الشخصية وصور الأعمال). أبسط نسخة احتياطية:\n\n```bash\ndocker run --rm \\\n  -v reactive_resume_db:\u002Fdata \\\n  -v $(pwd):\u002Fbackup \\\n  alpine tar czf \u002Fbackup\u002Fdb.tar.gz \u002Fdata\n```\n\nوللتصدير المباشر بصيغة ‏SQL: `docker exec db pg_dump -U postgres postgres > backup.sql`\n\nتستعيد الخدمة بتركيب الوحدة على حاوية ‏PostgreSQL جديدة مضبوطة على الرابط العام نفسه. جدوِل هذه النسخ الاحتياطية بواسطة ‏cron يومي أو استخدم خدمة لقطات وحدة التخزين من ‏VPS الخاص بك للتغطية التلقائية.",{"type":38,"title":92,"body":93},"استكشاف الأخطاء الشائعة وإصلاحها","**`APP_URL` غير صحيح بعد تغيير النطاق.** العَرَض: فشل ردود ‏OAuth أو يشير رابط التحقق إلى النطاق القديم. الحل: عدِّل `APP_URL` في الإعدادات، ثم احذف وحدة تخزين ‏PostgreSQL (`docker volume rm reactive_resume_db`) وأعد التشغيل. ستُفقَد جميع البيانات — خطِّط لهذه الخطوة قبل إنشاء حسابات في بيئة الإنتاج.\n\n**حاوية التطبيق تُعيد التشغيل باستمرار.** تحقق من السجلات بـ `docker compose logs reactive-resume`. أكثر الأخطاء شيوعًا رفض اتصال ‏PostgreSQL (`Connection refused to db:5432`): تبدأ حاوية التطبيق قبل أن يكون ‏PostgreSQL جاهزًا. انتظر 30 ثانية وأعد تشغيل `docker compose up -d`.\n\n**ملف PDF بتخطيط غير صحيح.** تصيير ‏PDF يتم من جانب المتصفح بواسطة `@react-pdf\u002Frenderer` ويعتمد على محرك عرض متصفحك. إن بدا الناتج منزاحًا، جرِّب متصفحًا مختلفًا (‏Chrome أو ‏Firefox حديث). المتصفحات القديمة أو الإضافات التي تعدِّل الخطوط قد تؤثر في التصيير.\n\n**خطأ `secretOrPrivateKey must have a value` عند البدء.** متغير `SECRET_KEY` مفقود من الإعدادات. أضفه بقيمة عشوائية من 32 محرفًا على الأقل: `openssl rand -hex 32` يولِّد قيمة مناسبة.\n\n**رابط السيرة الذاتية العام يُرجع 404.** تحقق من أن السيرة الذاتية مُعلَّمة كعامة في إعداداتها. إن كان كذلك، تحقق من إعداد ‏nginx: يجب أن يُوكِّل بلوك `location \u002Fr\u002F` إلى واجهة ‏Next.js الأمامية لا إلى ‏API.","انشر Reactive Resume على خادمك الخاص","استضف Reactive Resume ذاتيًا على VPS ServOrbit — مفتوح المصدر، بلا اشتراك، جميع بيانات CV الخاصة بك على بنيتك التحتية.","انشر Reactive Resume","\u002Fapplications\u002Fالتعاون-والإنتاجية\u002Freactive-resume",[99,121,140],{"id":100,"slug":101,"slugs":102,"title":106,"excerpt":107,"readTime":108,"views":18,"isPinned":19,"noindex":19,"publishedAt":109,"updatedAt":21,"category":110,"categories":116,"featuredImage":29,"bgImage":30,"posterImage":118,"relatedSolution":119},193,"استضافة-penpot-على-vps-بديل-figma-مفتوح-المصدر",{"fr":103,"en":104,"ar":101,"es":105},"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,"2026-07-27T00:00:00+00:00",{"id":111,"name":112,"slug":113,"color":114,"icon":115},4,"التطوير","developpement","bg-warning\u002F10 text-warning","dev",[117],{"id":111,"name":112,"slug":113,"color":114,"icon":115},"\u002Fblog\u002Fcovers\u002Fself-host-penpot-vps-poster.svg",{"categorySlug":33,"appSlug":120},"penpot",{"id":122,"slug":123,"slugs":124,"title":128,"excerpt":129,"readTime":130,"views":131,"isPinned":19,"noindex":19,"publishedAt":132,"updatedAt":133,"category":134,"categories":135,"featuredImage":29,"bgImage":30,"posterImage":137,"relatedSolution":138},181,"استضافة-docuseal-على-vps-توقيع-إلكتروني-مفتوح-المصدر-للفرق",{"fr":125,"en":126,"ar":123,"es":127},"self-host-docuseal-vps","self-host-docuseal-on-a-vps-open-source-e-signature-for-teams","alojar-docuseal-en-un-vps","استضافة DocuSeal على VPS: توقيع إلكتروني مفتوح المصدر للفرق","انشر DocuSeal على خادم VPS الخاص بك — توقيع إلكتروني مفتوح المصدر مع محرر قوالب PDF، توقيع متعدد الأطراف ومسار تدقيق كامل. بلا رسوم لكل مستند ولا اعتماد على SaaS.",6,2,"2026-07-16T00:00:00+00:00","2026-10-20T23:18:06+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[136],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fself-host-docuseal-vps-poster.svg",{"categorySlug":33,"appSlug":139},"docuseal",{"id":141,"slug":142,"slugs":143,"title":147,"excerpt":148,"readTime":149,"views":18,"isPinned":19,"noindex":19,"publishedAt":150,"updatedAt":151,"category":152,"categories":153,"featuredImage":29,"bgImage":30,"posterImage":155,"relatedSolution":156},46,"نشر-تطبيق-nextjs-على-vps",{"fr":144,"en":145,"ar":142,"es":146},"deployer-nextjs-vps","deploy-a-nextjs-application-on-a-vps","desplegar-nextjs-en-un-vps","نشر تطبيق Next.js على VPS","انشر Next.js على VPS: Node.js وPM2 وNginx وSSL وSSR. دليل كامل للمطوّرين والوكالات الراغبين في الاستضافة الذاتية.",13,"2026-05-05T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":111,"name":112,"slug":113,"color":114,"icon":115},[154],{"id":111,"name":112,"slug":113,"color":114,"icon":115},"\u002Fblog\u002Fcovers\u002Fdeployer-nextjs-vps-poster.svg",{"categorySlug":112,"appSlug":157},"nextjs-stack",true,1794270239516]