# System Requirements

To ensure optimal performance and smooth operations, please review the following hardware and software requirements for deploying Apidog. These guidelines will help prepare the necessary infrastructure for a seamless experience.

The system requirements are as follows:

## Hardware Requirements



| **Hardware**        | **Recommended**    | **Minimum**   |
|---------------------|--------------------|-----------------------------|
| *Operating System*  | Unix-based systems (such as Ubuntu, Debian, etc). Window may also work with Docker desktop installed |           |
| *RAM*            | 8GB        | 4GB     |
| *CPU*         | 4 cores    | 2 cores |
| *Storage*           | 100GB      | 30GB    |


| **Component**      | **Recommended Configuration** | **Quantity** | **Target Deployment** |
|------------------------------------|-------------------------------|--------------|------------------------------------------------ |
|*Apidog*   | 4 cores, 8GB RAM, 100GB disk  | 1            | Core application server |
|*Database & Cache*| 4 cores, 8GB RAM, 100GB disk  | 1            | MySQL >= 8.0.17,                                                                       Redis >= 6.0.5

## Software Requirements

The software requirements vary depending on your deployment method. Please follow respective instructions for your deployment.

### For Docker Deployment

- **Docker**: 
    - Minimum supported version: **`20.10.0`**
    - Recommended version:**`newer version highly recommended`**
    - Version verification:**`docker --version`**
    - Installation instructions: [Official Docker documentation](https://docs.docker.com/engine/install)

### For Kubernetes Deployment

- **Kubernetes**: 
    - Minimum supported version:**`1.19`**
    - Recommended version:**`newer version highly recommended`**
    - Version verification:**`kubectl version`**
    
- **Helm**: 
    - Minimium supported version:**`3.0.0`**
    - Recommended version:**`newer version highly recommended`**
    - Version verification:**`helm version`**

## Database Requirements

- **Database**: MySQL version **`8.0.17`** or higher is required.


## Cache Requirements

- **Redis**: Redis version **`6.0.5`** or higher is required.



:::info[Database and Caching Services]
MySQL and Redis can either be deployed as self-hosted instances or as a managed cloud services. Supported managed cloud services includes, but not limited to:

- **MySQL**
    - Azure Database for MySQL
    - AWS RDS for MySQL
    - Google Cloud SQL for MySQL

- **Redis**
    - Azure Cache for Redis
    - AWS ElasticCache for Redis
    - Google Cloud Memorystore

:::

