On-Premise installation
On-Premise Requirements
Learn how to configure your On-Premise installation
Resources Requirements
Carbone is well-optimized to run on servers with limited resources. Here are the hardware resources we recommend for your needs.
The following scenarios consider a DOCX template used to generate a document of approximately ten pages with dynamic tables and images. Therefore, it is important to test the configuration with your target documents.
Scenario 1 : Single Carbone instance DOCX template without PDF conversion
Renders per Second | vCPU | RAM | Persistent Storage |
---|---|---|---|
50 | 1 | 2 GB | 10 GB |
100 | 2 | 3 GB | 10 GB |
200 | 4 | 4 GB | 10 GB |
Scenario 2 : Single Carbone instance with PDF conversion
Renders per Second | vCPU | RAM | Persistent Storage |
---|---|---|---|
5 | 1 | 2 GB | 10 GB |
10 | 2 | 3 GB | 10 GB |
20 | 4 | 4 GB | 10 GB |
Persistent storage is used to store templates. It can be set up via a Shared Volume
or a S3 or Azure Storage
bucket.
Scenario 3 : High Availabilty or High Performance setup
In this scenario, several Carbone instances are launched.
Renders per Second | Number of Pods | vCPU per Pods | RAM per Pods | Persistent Storage |
---|---|---|---|---|
10 | 2 | 1 | 2 GB | 20 GB |
50 | 5 | 2 | 3 GB | 20 GB |
100 | 10 | 2 | 3 GB | 20 GB |
A load balancer is then required.
Persistent storage is used to store templates and renders. It can be set up via a NFS shared volume
or a S3 or Azure Storage
bucket.
If a large number of renderings are requested, Carbone will put all the requests in its queue. They will then be processed by unstacking the FIFO stack.
Impact when using the APIs in synchronous mode, processing time will increase until the conversion timeout is reached.
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
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