---
source: https://carbone.io/documentation/developer/on-premise-installation/requirements.html
title: "On-Premise Requirements"
description: "Learn how to configure your On-Premise installation"
generated_at: "2026-07-10"
---

# 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 an `S3 or Azure Storage` bucket.

**Scenario 3 : High Availability 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 an `NFS shared volume` or an `S3 or Azure Storage` bucket.

> ℹ️ **Note:** 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 [maximum generation time](/documentation/developer/on-premise-installation/configuration.md#maximum-generation-time) 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 [Docker](/documentation/developer/self-hosted-deployment/deploy-with-docker.md#configuration-storage-backends)
-   `Shared persistent volume` : for [Kubernetes](/documentation/developer/self-hosted-deployment/deploy-on-kubernetes.md#storage-backends-persistentvolume-readwritemany)
-   `NFS share` : for [Kubernetes](/documentation/developer/self-hosted-deployment/deploy-on-kubernetes.md#storage-backends-persistentvolume-readwritemany) or [AWS-ECS](/documentation/developer/self-hosted-deployment/deploy-on-aws-ecs.md#configuration-storage-backends)
-   `S3 compatible storage` : for [AWS](/documentation/developer/self-hosted-deployment/deploy-on-aws.md#configuration-storage-backends), [GCP](/documentation/developer/self-hosted-deployment/deploy-on-gcp.md#quickstart-create-bucket-to-store-template-and-renders) and other cloud provider deployments
-   `Azure Blob Storage` : for [Azure Container Apps](/documentation/developer/self-hosted-deployment/deploy-on-azure.md#quickstart-create-azure-storage-for-persistent-data)

## Related topics

- [Upgrade Guide](/documentation/developer/on-premise-installation/upgrade-guide.md)
- [Template management](/documentation/developer/on-premise-installation/template-management.md)
- [On-Premise plugins](/documentation/developer/on-premise-installation/plugins.md)
- [Metrics (OpenMetrics)](/documentation/developer/on-premise-installation/metrics.md)
- [On-Premise](/documentation/developer/on-premise-installation/introduction.md)
- [Deploy on MacOS](/documentation/developer/on-premise-installation/install-on-macos.md)
