Gotenberg (MIT, 8 k+ GitHub stars) is a Docker-based HTTP microservice for generating PDFs from HTML, URLs, Markdown and Office documents (DOCX, XLSX, PPTX) via a clean REST API. Drop it on a VPS and replace per-page SaaS PDF services with a fixed monthly cost. Chromium and LibreOffice are bundled in the single container — no extra dependencies. Use it to generate invoices, reports, contracts, or any document from your backend applications.
Render your HTML invoice templates to PDF server-side and send them as email attachments or store them in S3. No per-document billing, no third-party access to your financial data.
Add a 'Download as PDF' button to your dashboard. Your backend sends the HTML report to Gotenberg and streams the PDF back to the user — no frontend library, no browser extension required.
Convert uploaded DOCX or XLSX files to PDF for archiving, preview or signing workflows. Gotenberg's LibreOffice route handles the conversion without installing Office on your server.
Guide optimized for ServOrbit Cloud VPS.
Open the ServOrbit dashboard, go to Marketplace → Development → Gotenberg, and click Deploy. Docker pulls the gotenberg/gotenberg:8 image — it includes Chromium and LibreOffice — and starts the HTTP server on port 3000. The service is ready in under 30 seconds.
From your application or a terminal, POST your HTML to the Chromium route:
`
curl -s --request POST 'http://127.0.0.1:3000/forms/chromium/convert/html' \
--form '[email protected]' \
-o invoice.pdf`
Gotenberg renders the page with a full Chromium instance and returns the PDF as a binary stream.
To snapshot a live web page:
`
curl -s --request POST 'http://127.0.0.1:3000/forms/chromium/convert/url' \
--form 'url=https://your-report-page.com' \
-o report.pdf`
Useful for archiving dashboard views, generating weekly reports or capturing receipts.
Gotenberg has no built-in authentication. Protect the API by putting it behind a reverse proxy (nginx) with HTTP basic auth or by restricting access to an internal network only. The standard pattern is to keep port 3000 bound to 127.0.0.1 and call it from your application backend on the same server.
Maintaining a project that uses Gotenberg? This button lets your readers deploy it on a VPS in one click, without reading Docker documentation.
[](https://servorbit.com/vps-cloud?template=gotenberg&utm_source=deploy-badge&utm_medium=referral&utm_campaign=gotenberg)<a href="https://servorbit.com/vps-cloud?template=gotenberg&utm_source=deploy-badge&utm_medium=referral&utm_campaign=gotenberg"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy Gotenberg on ServOrbit" height="40"></a>The button points to a VPS order with the template preselected. The image is served from servorbit.com — nothing to host on your side.
The self-hostable open-source design platform — Figma alternative for product teams, with real-time collaboration, interactive prototyping and live CSS export.
Collaboration & ProductivityThe #1 PDF app on GitHub (87 k stars, MIT): convert, merge, split, compress, OCR, watermark and 50+ PDF operations — all self-hosted on your VPS, zero cloud data exposure.
Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.