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:
- 4 vCPUs → 4 GB RAM (3 GB base + 2 × 0.5 GB for extra CPUs)
- 8 vCPUs → 6 GB RAM (3 GB base + 5 × 0.5 GB for extra CPUs)
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 |
- In these tests, Carbone ICE outperforms LibreOffice and OnlyOffice (included in the full report).
- Cloud vCPUs usually deliver less power than an M4 Max core, so use these numbers as rough estimates only.
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:
local disk: for execution on Linux, MacOS, Windows and DockerShared persistent volume: for KubernetesNFS share: for Kubernetes or AWS-ECSS3 compatible storage: for AWS, GCP and other cloud provider deploymentsAzure Blob Storage: for Azure Container Apps