# On-premises server requirements

The DocuSeal app is well-optimized to run on servers with limited resources. However, certain scenarios might demand more resources than others. For example, processing large files or handling a significant number of files simultaneously can substantially impact resource requirements.

Let’s explore the main use cases of the DocuSeal app and the corresponding resource requirements for each.

## Requirements

- **Avg Document Size**: This indicates the average size of documents that the DocuSeal app will process.
- **vCPU**: The number of virtual CPUs required for document processing.
- **RAM**: The amount of memory needed to process documents.
- **Disk**: The amount of disk space necessary to store documents and other data.

These requirements are calculated for storing 10000 signed documents

### Scenario 1: Each template is used only once and has only one signer

| Average document size | vCPU | RAM | Disk |
| --- | --- | --- | --- |
| 500 KB | 1 | 1 GB | 12 GB |
| 5 MB | 1 | 2 GB | 125 GB |
| 100 MB | 2 | 4 GB | 2250 GB |

### Scenario 2: Each template is used only once and has multiple signers

| Average document size | vCPU | RAM | Disk |
| --- | --- | --- | --- |
| 500 KB | 1 | 1 GB | 25 GB |
| 5 MB | 1 | 2 GB | 225 GB |
| 100 MB | 2 | 4 GB | 4500 GB |

### Scenario 3: Each template is reused and has only one signer

| Average document size | vCPU | RAM | Disk |
| --- | --- | --- | --- |
| 500 KB | 1 | 1 GB | 6 GB |
| 5 MB | 1 | 2 GB | 60 GB |
| 100 MB | 2 | 4 GB | 1100 GB |

### Scenario 4: Each template is reused and has multiple signers per document

| Average document size | vCPU | RAM | Disk |
| --- | --- | --- | --- |
| 500 KB | 1 | 1 GB | 18 GB |
| 5 MB | 1 | 2 GB | 175 GB |
| 100 MB | 2 | 4 GB | 3500 GB |

The specified requirements are approximate and may vary depending on the specific usage conditions of the DocuSeal app. They are intended to provide a general understanding of resource requirements.

## Database requirements

DocuSeal’s primary and recommended database is **PostgreSQL**. **SQLite** and **MySQL** are supported with partial compatibility.

- **Small business or personal use (fewer than 1,000 documents per year):** PostgreSQL, SQLite, and MySQL are all suitable options.
- **Production API and embedding use:** PostgreSQL is recommended for heavy production workloads with 1,000+ documents per year.

**Note about MySQL:** MySQL support is limited due to text field length constraints, lack of full-text search support, and lack of partial indexes.

## Additional recommendations

- We recommend using more RAM if you plan to process large files or a large number of files simultaneously.
- Use SSD disks if you plan to process large files.