
Deploy Gotenberg | (Just Updated) PDF API, Password-Locked From Boot
Gotenberg PDF API. Password on from boot, no fields to fill, public URL
gotenberg
Just deployed
Deploy and Host Gotenberg on Railway
Gotenberg is a stateless API that turns HTML, Markdown, URLs and Office files (Word, Excel, PowerPoint, LibreOffice formats) into PDF, using headless Chromium and LibreOffice. It can also merge, split, flatten and watermark PDFs. Apps in any language call it over HTTP instead of bundling a browser of their own.
This template runs Gotenberg 8 as one service from the official image, pinned by digest, with a public Railway domain and a password generated for every deploy.
About Hosting Gotenberg
- The API is password-protected from the first request. A stock Gotenberg container is
anonymous: anyone who finds the URL can render pages and convert files on your bill. Here basic
auth is switched on at boot with the username
gotenbergand a password generated for your deploy (GOTENBERG_API_BASIC_AUTH_PASSWORD)./healthstays open so Railway can check the service. - Requests cannot reach your private network. Chromium and URL downloads refuse private and internal addresses, so a caller cannot make the service fetch other services in your project.
- Nothing to fill in. There are no required fields on the deploy form, and no volume: Gotenberg keeps nothing between requests. Chromium starts with the container so the first conversion is not a cold start.
- Memory. Idle it holds roughly 370 MB; a service with 1 GB or more is comfortable, and large Office files or heavy pages need more.
Common Use Cases
- Invoice, receipt and report PDFs rendered from HTML templates
- Converting uploaded Word, Excel and PowerPoint files to PDF
- Saving a web page as PDF, or taking a screenshot, from a backend job
- Merging and splitting PDFs in an automation or AI document pipeline
Dependencies for Gotenberg Hosting
- None. A single service, no database and no volume.
Deployment Dependencies
- Gotenberg project: https://github.com/gotenberg/gotenberg
- Documentation: https://gotenberg.dev/docs/getting-started/introduction
Implementation Details
| Variable | Purpose |
|---|---|
GOTENBERG_API_BASIC_AUTH_PASSWORD | Password for every API call except /health, generated per deploy. The username is gotenberg. |
curl -u gotenberg: \
https:///forms/chromium/convert/url \
--form url=https://example.com -o example.pdf
Inside the same Railway project use http://gotenberg.railway.internal:8080 with the same
credentials.
Why Deploy Gotenberg on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Gotenberg on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
gotenberg
gotenberg/gotenberg:8