
Deploy Gotenberg on Your Own Server
Docker-Powered Stateless API For PDF Files
Want to deploy Gotenberg on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Gotenberg?
Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more!
Self-Host Gotenberg
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
API
Chromium
LibreOffice
PDF Engines
Webhook
Prometheus
Logging
Deploy
Copy the configuration and run it on your server.
services:
gotenberg:
environment:
API_DISABLE_HEALTH_CHECK: "false"
API_PORT: "3000"
API_ROOT_PATH: /
API_TIMEOUT: 30s
API_TRACE_HEADER: Gotenberg-Trace
CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES: "true"
CHROMIUM_ALLOW_INSECURE_LOCALHOST: "true"
CHROMIUM_ALLOW_LIST: ""
CHROMIUM_DENY_LIST: ^file:///[^tmp].*
CHROMIUM_DISABLE_JAVASCRIPT: "false"
CHROMIUM_DISABLE_ROUTES: "false"
CHROMIUM_DISABLE_WEB_SECURITY: "true"
CHROMIUM_HOST_RESOLVER_RULES: ""
CHROMIUM_IGNORE_CERTIFICATE_ERRORS: "true"
CHROMIUM_INCOGNITO: "false"
CHROMIUM_PROXY_SERVER: ""
GRACEFUL_SHUTDOWN_DURATION: 30s
LIBREOFFICE_DISABLE_ROUTES: "false"
LIBREOFFICE_LISTENER_RESTART_THRESHOLD: "10"
LIBREOFFICE_LISTENER_START_TIMEOUT: 10s
LOG_FORMAT: auto
LOG_LEVEL: info
PDFENGINES_DISABLE_ROUTES: "false"
PDFENGINES_ENGINES: ""
PROMETHEUS_COLLECT_INTERVAL: 1s
PROMETHEUS_DISABLE_COLLECT: "false"
PROMETHEUS_DISABLE_ROUTE_LOGGING: "false"
PROMETHEUS_NAMESPACE: gotenberg
VERSION: "7"
WEBHOOK_ALLOW_LIST: ""
WEBHOOK_CLIENT_TIMEOUT: 30s
WEBHOOK_DENY_LIST: ""
WEBHOOK_DISABLE: "false"
WEBHOOK_ERROR_ALLOW_LIST: ""
WEBHOOK_ERROR_DENY_LIST: ""
WEBHOOK_MAX_RETRY: "4"
WEBHOOK_RETRY_MAX_WAIT: 30s
WEBHOOK_RETRY_MIN_WAIT: 1s
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:80
Why Self-Host Gotenberg?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"