# Software Requirements

## Operating System <a href="#prerequisites-operatingsystem" id="prerequisites-operatingsystem"></a>

The following table provides a list of the supported operating systems and their versions.

| **Operating System**    | **Version** |
| ----------------------- | ----------- |
| Ubuntu Linux            | 18.04+      |
| CentOS                  | 7.6+        |
| RedHat Enterprise Linux | 7.6+        |

On RHEL systems Akamas containers might need to be run in privileged mode depending on how Docker was installed on the system.

## Software packages <a href="#prerequisites-softwarepackages" id="prerequisites-softwarepackages"></a>

The following table provides a list of the required Software Packages (also referred to as **Akamas dependencies**) together with their versions.

| **Software Package** | **Notes**                                                                                                                                                                                                                                                                                                                       |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Docker               | Akamas is deployed as a set of containerized services running on Docker. During its operation Akamas launches different containers so access to the docker socket with enough permissions to run the container is required.                                                                                                     |
| Docker Compose       | <p>Akamas containerized services are managed via Docker Compose.<br>Docker Compose is strictly necessary to operate Akamas.</p>                                                                                                                                                                                                 |
| AWS CLI              | <p>Akamas container images are published in a private Amazon Elastic Container Registry (ECR) and are automatically downloaded during the on-line installation procedure.</p><p>AWS CLI is required only during the installation phase if the server has internet access and can be skipped during an offline installation.</p> |

The exact version of these prerequisites is listed in the following table:

| **Software Package** | **Ubuntu** | **CentOS** | **RHEL** |
| -------------------- | ---------- | ---------- | -------- |
| Docker               | 19.03+     | 1.13+      | 1.13+    |
| Docker-compose       | 2.0+       | 2.0+       | 2.0+     |
| AWS CLI              | 2.0.0+     | 2.0.0+     | 2.0.0+   |

Read more about how to set up[ Akamas dependencies](https://docs.akamas.io/akamas-docs/3.1.2/installing-akamas/install-akamas-dependencies).

## Akamas user <a href="#prerequisites-akamasuser" id="prerequisites-akamasuser"></a>

To install and run Akamas it is recommended to create a dedicated user (usually "akamas").\
The Akamas user is not required to be in the sudoers list but can be added to the docker (*dockeroot*) group so it can run docker and docker-compose commands.

Make sure that the Akamas user has the read, write, and execute permissions on `/tmp`. If your environment does not allow writing to the whole `/tmp` folder, please create a folder `/tmp/build` and assign read and write permission to the Akamas user on that folder.
