دليل النشر

استضافة Gotenberg على VPS: واجهة توليد PDF للمطورين

انشر على VPS Cloud →

التطوير4 دقيقة قراءة

استضافة Gotenberg على VPS: واجهة توليد PDF للمطورين

كل خدمة PDF كـ SaaS تُحاسب لكل صفحة أو مستند. Gotenberg لا تفعل ذلك — إنها خدمة HTTP مصغّرة مفتوحة المصدر برخصة MIT تُولّد PDF من HTML والروابط وMarkdown ومستندات LibreOffice، مع تضمين Chromium وLibreOffice في حاوية Docker واحدة. إليك كيفية نشرها على VPS في دقائق.

لماذا استضافة واجهة API لتوليد PDF ذاتيًا؟

خدمات PDF كـ SaaS تُحاسب لكل مستند أو صفحة أو استدعاء API. بمجرد أن يُولّد تطبيقك فواتير أو تقارير أو عقودًا بكميات كبيرة، تنمو التكلفة خطيًا مع استخدامك. Gotenberg تستبدلها بتكلفة VPS شهرية ثابتة بصرف النظر عن عدد PDF التي تُولّدها. كما تبقي مستنداتك خاصة: لا شيء يغادر بنيتك التحتية أثناء التحويل.

ما يمكن لـ Gotenberg تحويله

  • HTML إلى PDF عبر نسخة Chromium كاملة — CSS وخطوط الويب وJavaScript واستفسارات وسائط الطباعة مُكرَّمة جميعها.
  • أي رابط إلى PDF — أرشف مشاهدات لوحة التحكم وأنشئ تقارير أسبوعية أو التقط إيصالات الدفع.
  • مستندات LibreOffice (DOCX وXLSX وPPTX وODT وODS وODP وأكثر من 20 صيغة) إلى PDF بدون تثبيت Microsoft Office.
  • Markdown إلى PDF عبر مسار Chromium مع CSS قابل للتهيئة.
  • دمج عدة ملفات PDF في ملف واحد باستدعاء API واحد.
  • الصور (PNG وJPEG وWebP وTIFF) محوَّلة إلى PDF.

المتطلبات

خادم VPS بـ1 vCPU على الأقل و1 غيغابايت RAM (يُنصح بـ2 غيغابايت لتصيير Chromium المتزامن). Ubuntu 22.04 أو 24.04 مع Docker مثبَّت. لا يلزم نطاق — يمكنك استدعاء الواجهة API على http://127.0.0.1:3000 من تطبيقك الخلفي على نفس الخادم.

نشر Gotenberg خطوة بخطوة

01

إنشاء ملف compose

اتصل بـVPS عبر SSH وأنشئ مجلدًا:

mkdir gotenberg && cd gotenberg

أنشئ docker-compose.yml مع خدمة gotenberg مرتبطة بـ 127.0.0.1:3000.

02

تشغيل الحاوية

شغّل docker compose up -d. يسحب Gotenberg الصورة (~1.5 غيغابايت، تشمل Chromium وLibreOffice) ويشغّل خادم HTTP. تحقق من نقطة نهاية الصحة:

curl http://127.0.0.1:3000/health

استجابة {"status":"up"} تؤكد أن الخدمة جاهزة.

03

توليد أول PDF من HTML

أنشئ ملف HTML بسيطًا (invoice.html) وحوّله:

curl -s --request POST http://127.0.0.1:3000/forms/chromium/convert/html \
  --form '[email protected]' \
  -o invoice.pdf

الاستجابة هي PDF كتدفق ثنائي.

04

تحويل مستند Word إلى PDF

ارفع ملف DOCX إلى مسار LibreOffice:

curl -s --request POST http://127.0.0.1:3000/forms/libreoffice/convert \
  --form '[email protected]' \
  -o contract.pdf
05

إضافة المصادقة (مستحسن)

ليس لدى Gotenberg مصادقة مدمجة. النهج المستحسن: ثبّت nginx، أنشئ وكيلًا عكسيًا من https://gotenberg.your-domain.com إلى http://127.0.0.1:3000، وأضف مصادقة HTTP basic.

التكامل مع تطبيقك

Gotenberg محايد للغة — أي عميل HTTP يعمل. توجد مكتبات لـ PHP وNode.js وPython وGo وغيرها. لـ Laravel توجد حزمة رسمية تُغلّف الواجهة API. في Node.js يمكنك استدعاؤها بـ axios أو fetch الأصلية بإرسال كائن FormData مع محتوى HTML أو الملف.

انشر Gotenberg على VPS Cloud من ServOrbit في دقائق

مع VPS Cloud من ServOrbit تحصل على Docker مُهيأ مسبقًا وRAM قابلة للتوسع — القاعدة الصحيحة لـ Gotenberg للتعامل مع تصيير Chromium وتحويل LibreOffice بدون تنازع على الموارد.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـ العربية والفرنسية والإنجليزية.