> For the complete documentation index, see [llms.txt](https://docs.wproofreader.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wproofreader.com/v6.18.1/deployment/installation-requirements/hardware-requirements.md).

# Hardware requirements

WProofreader SDK Server can run on:

* A dedicated server
* A virtual machine
* A Docker container
* A cloud provider such as AWS, Azure, or GCP

VMware virtualization is supported.

{% hint style="warning" %}
AI-based language models are not supported under VirtualBox.
{% endhint %}

Resource usage depends on the components you install and the languages you enable.

GEC models, Autocomplete, list of installed languages are selected during installation.

### Disk space

#### Base installation

The base installation uses about **1.5 GB** in the application directory.

It includes:

* AppServerX binary and libraries
* Algorithmic grammar engine and core language resources
* Style guide resources
* Front-end static assets

#### Optional components

| Component                                     | Disk space                                                                                                                         |
| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| AI GEC model — English                        | \~683 MB                                                                                                                           |
| AI GEC model — German                         | \~1.14 GB                                                                                                                          |
| AI GEC model — Spanish                        | \~1.2 GB                                                                                                                           |
| Autocomplete model — English                  | \~490 MB                                                                                                                           |
| NER model — per language                      | \~336 MB. See [Configure NER models](/v6.18.1/deployment/configuration/spell-check-engine/configure-ner-models.md)                 |
| N-gram model — per language                   | Varies by language. See [Configure n-gram models](/v6.18.1/deployment/configuration/spell-check-engine/configure-n-gram-models.md) |
| Hunspell spelling dictionaries — per language | Varies. All languages use \~256 MB total                                                                                           |

By default, the installer downloads the English GEC model and the English Autocomplete model.

#### Full installation

A full installation with all GEC models, English Autocomplete, all NER models, and all n-gram models uses about **6.5 GB** in the application directory.

Hunspell dictionaries are stored separately in the data directory.

#### Additional variable space

| Item                                              | Space                     |
| ------------------------------------------------- | ------------------------- |
| User dictionaries (`UserDictionaries/`)           | Up to 50 KB per user      |
| Organization dictionaries (`CustomDictionaries/`) | Up to 5 MB per dictionary |
| Style guide collections                           | Up to 5 MB per collection |
| AppServer log files (`AppServer/Logs/`)           | Rotated at 10 MB per file |

Web server access logs can also grow quickly. Monitor them separately.

### RAM

#### Recommended configuration

| Configuration                                                          | RAM         |
| ---------------------------------------------------------------------- | ----------- |
| Default installation — English, English GEC + English Autocomplete     | **\~4 GB**  |
| Full installation — All languages, 3 GEC models + English Autocomplete | **\~10 GB** |
| Spell check and grammar only — no AI                                   | \~2 GB      |
|                                                                        |             |

{% hint style="info" %}
By default, only the English GEC model and the English Autocomplete model are installed.
{% endhint %}

#### Breakdown by component

| Component                                                  | RAM usage   |
| ---------------------------------------------------------- | ----------- |
| Spell check engine — per active language                   | \~50 MB     |
| Algorithmic grammar check engine — English only            | \~1 GB      |
| Algorithmic grammar check engine — all supported languages | \~4 GB      |
| AI GEC model — English, steady state after startup         | \~1 GB      |
| AI GEC model — German or Spanish, steady state             | \~2 GB each |
| Autocomplete model — English                               | \~700 MB    |
| N-gram model — per active language                         | \~100 MB    |
| NER model — per active language                            | \~336 MB    |
| Cache — 500,000 misspelling entries                        | \~200 MB    |

Notes:

* The JVM heap limit is about **2 GB** by default.
* If you enable 25 or more languages, increase the heap to about **4 GB**. See [Configure JVM maximum heap size](/v6.18.1/deployment/configuration/grammar-check-engine-setup/configure-jvm-maximum-heap-size.md).
* NER and n-gram models are loaded only for languages selected during installation.
* The English NER model is loaded in the default setup.
* German and Spanish NER models are disabled by default.
* RAM usage grows with concurrent users, active languages, and enabled features.

### CPU

| Item        | Value       |
| ----------- | ----------- |
| Minimum     | 2 vCPUs     |
| Recommended | **4 vCPUs** |

{% hint style="info" %}
**4 vCPUs** are recommended when AI language models are enabled.

**AVX2** or **AVX512** can improve AI model performance.
{% endhint %}

### Cloud instances

| Use case                            | Suggested instance                                  |
| ----------------------------------- | --------------------------------------------------- |
| Light load or evaluation            | AWS `t3.medium` or `t3a.medium` — 2 vCPUs, 4 GB RAM |
| Production workload — English GEC   | AWS `c8a.xlarge` — 4 vCPUs, 8 GB RAM                |
| Production workload — all languages | AWS `m8a.xlarge` — 4 vCPUs, 16 GB RAM               |
| High AI load with batching          | AWS `g4dn.xlarge` or equivalent — NVIDIA T4 GPU     |

{% hint style="info" %}
AWS `c8a.xlarge` is sufficient for English AI workloads.
{% endhint %}

{% hint style="info" %}
For high-throughput AI workloads, NVIDIA T4 Tensor Core GPUs improve batch processing.
{% endhint %}

### Scaling considerations

Actual resource usage depends on:

* Number of concurrent users
* Volume and frequency of checked text
* Enabled languages and their resources
* Percentage of errors in submitted text
* Enabled AI models, NER, and Autocomplete

### Admin-panel setup

The requirements above apply to WProofreader Server in both setups. If you use admin-panel, you also need resources for admin-panel and MySQL. For a comparison of the setups, see [Choose a self-hosted setup](/v6.18.1/deployment/installation/choose-a-self-hosted-setup.md).

Admin-panel and MySQL need fewer resources than WProofreader Server.

#### Admin-panel

| Item | Minimum | Recommended |
| ---- | ------- | ----------- |
| CPU  | 1 vCPU  | **2 vCPUs** |
| RAM  | 2 GB    | **4 GB**    |

The values apply to all three admin-panel containers together: the web application, the queue worker and the scheduler. The recommended values are sufficient for production.

Admin-panel keeps uploaded files, such as profile photos, in `storage/app`. When you turn on persistent storage, the Helm chart requests a 5 GB volume.

#### MySQL

| Database                              | CPU     | RAM  |
| ------------------------------------- | ------- | ---- |
| `cloud_service` (WProofreader Server) | 2 vCPUs | 2 GB |
| `admin_panel_db` (admin-panel)        | 1 vCPU  | 1 GB |

You can keep the two databases on two MySQL servers or on one MySQL server. For one MySQL server, use 2 vCPUs and 3 GB RAM.

The size of the `cloud_service` database grows with the request statistics. Monitor the free disk space of the MySQL server.

#### Docker Compose on one host

When you run all components on one host, add the requirements of each component. For example, the default WProofreader Server installation (4 GB), admin-panel (2 GB) and MySQL (3 GB) need at least 9 GB RAM.
