On-Premise installation

On-Premise Requirements

Learn how to configure your On-Premise installation

Resource Requirements

Carbone is well-optimized to run on servers with limited resources. Throughput depends on the template, the output format, and the number of CPU factories. The public Carbone benchmark measures real templates on Carbone v5. Run it on your own documents before sizing a production server. Source and method: document-generator-benchmark.

Minimum

Setup vCPU RAM Disk
Carbone alone (Docker slim) 1 1 GB 10 GB
Carbone with LibreOffice, Chromium, OnlyOffice converters (Docker full) 1 2 GB 10 GB

See Choosing a converter to select the appropriate converter engine.

A very small machine is sufficient when using only the built-in Carbone ICE converter. We recommend avoiding OnlyOffice, as it consumes a lot of memory. If you do not require HTML to PDF conversion, you can also disable Chromium.

Recommended

Setup vCPU RAM Disk
Carbone with LibreOffice, Chromium, OnlyOffice converters (Docker full) 2 3 GB 10 GB

Increase the number of vCPUs to handle heavier workloads through parallelization, and add approximately 0.5 GB of RAM per additional CPU when all converters are enabled.

For example:

When a large number of renderings are requested, Carbone queues all incoming requests and processes them in FIFO (First-In-First-Out) order.
If you use the APIs in synchronous mode, processing times will increase as the queue grows, up to the maximum generation time.

Benchmarks

Here’s a quick overview of Carbone’s performance based on the 2026-09-22 benchmark, using the invoice_simple sample (a one-page invoice). The numbers below show how many documents can be processed per minute on an Apple M4 Max, with either 1 or 4 CPU cores:

CPUs DOCX → DOCX DOCX → PDF (Carbone ICE) HTML → PDF (Chromium)
1 10300 per minute 2800 per minute 5000 per minute
4 17900 per minute 13900 per minute 21800 per minute

Need even more performance? Contact us. We can multiply these numbers by 2× to 5× in certain specific use cases with appropriate use of appendTemplate and advanced caching strategies.

Infrastructure Requirements

HTTPS

The Carbone webserver does not support HTTPS connectivity. To implement TLS termination on your Carbone instance, you need to set up a reverse proxy (Apache, Nginx, HAproxy, etc.).

Persistent Storage

Persistent storage is used to store templates and renders. It can be set up via an NFS shared volume or an S3 or Azure Storage bucket.

To use Carbone in production, you need to configure a persistent storage space for templates and, in the case of multiple instances, renders. Storage can be set up by: