> For the complete documentation index, see [llms.txt](https://docs.malwation.com/hookmesh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.malwation.com/hookmesh/installation-manual/how-to-install.md).

# How to Install

This document covers almost all of the installation process, please make sure you follow the each step.

## Installation Check Script

Along with the credentials that you will use to access to the image registry of Malwation, there would be a check script that checks your entire system that if everything is alright with the installation, for manual checks, you can use the checklist below:

{% file src="/files/uzrdUY7zwCJHiWmvDe5y" %}

## Install & Download the Setup Downloader

After the check is done, you are ready to start the installation process:

{% code overflow="wrap" lineNumbers="true" %}

```bash
curl -sfL https://hub.malwation.com/drive/index.php/s/AW89MwAso79jEBi/download/v1.0.0.sh -o setup_downloader.sh && sudo bash setup_downloader.sh
```

{% endcode %}

<figure><img src="/files/2j5g87NGS1GuhmTvW7WG" alt=""><figcaption><p>Initial output of the setup_downloader.sh</p></figcaption></figure>

After you run the command, you will see a screen like in the upper side.&#x20;

After some time, system will end its authentication process and download the arranged version for your side, you will see the final output of the setup\_downloader.sh:

<figure><img src="/files/6Alc6uPQQG58AmUFzeml" alt=""><figcaption><p>Final output of the setup_downloader</p></figcaption></figure>

You can select which option you want with arrow keys and click enter button.&#x20;

1. If you select ***I want to install later***: You should go to the version that have been downloaded to your system, for example in this case it is "v2.2.8" so you must do:&#x20;

{% code overflow="wrap" lineNumbers="true" %}

```bash
cd v2.2.8/ # depends on which version you've installed, this is just an example
sudo bash start.sh
```

{% endcode %}

After these commands, you are ready to install Malwation HookMesh!

2. If you select ***Install now:*** We will continue with the installation in the below part, follow the instructions

Since Malwation HookMesh uses Kubernetes in the underground, it has two main installation types:

1. Single Node Deployment ( 1 VM )
2. Multi Node Deployment ( Requires minimum 3 VMs )

## Install HookMesh to Single Node Cluster

{% hint style="success" %}
This option is the most common option we use in the PoC environments, if you are installing the HookMesh to test it, we advise you to use this method.
{% endhint %}

After you run the main installation script via "Install Now" option or manually, you will see some set of questions that our setup asking you about the deployment, you can see them below:

<figure><img src="/files/aND900e1QJHaavEAf1uN" alt=""><figcaption><p>HookMesh main setup script installation steps</p></figcaption></figure>

* **Selection of FQDN:**\
  HookMesh needs to determine the address from which the system will be accessible. By default, it detects the local IP of the host machine automatically. However, if you prefer to use a custom domain, subdomain, or a different public IP within your infrastructure, you can select the second option and provide the desired address manually. This allows you to specify how you will access HookMesh from your browser.
* **Deployment Type Selection:**\
  HookMesh supports two deployment options:
  * **Multi-Node Deployment:** This option requires a minimum of three virtual machines (VMs) and is recommended for scalability and redundancy in larger environments.
  * **Single-Node Deployment:** This option installs HookMesh on a single VM, making it suitable for smaller setups or testing environments.
* **Selection of Additional Features:**\
  HookMesh offers optional modules that can be installed depending on your requirements:
  * **No CDR and Static Scan:** Skip the installation of these additional features.
  * **Install only CDR (Content Disarm and Reconstruction) Analysis:** Requires a CDR license and enables HookMesh to analyze and process call logs for detailed insights.
  * **Install only Static Scan:** Requires a Static Scan license and enables the system to perform security scans on static data.
  * **Install both CDR and Static Scan:** This option enables full functionality, combining call record analysis and static data scanning for enhanced monitoring and security.
* **SSL Certificate Configuration:**\
  To secure access to HookMesh, an SSL certificate is required. You have two options:
  * **Generate a self-signed certificate:** HookMesh will create a self-signed SSL certificate for the selected domain or IP. This is a quick and easy way to enable HTTPS, though it may not be trusted by all browsers by default.
  * **Use a custom SSL certificate:** If you have an existing certificate (.crt and .pem files), you can apply it to HookMesh for better security and trust.
* **Mail Integration Setup:**\
  HookMesh can integrate with mail servers to handle email attachments. You can choose:
  * **Install mail integration (Postfix):** This enables HookMesh to receive email attachments through a Postfix mail server, which can be useful for processing incoming email-based data.
    * **Relayhost Configuration (Only if Mail Integration is Enabled):**\
      If you choose to enable mail integration, HookMesh allows you to configure a relayhost to route outgoing emails through an external mail server.
      * You can **add a new relayhost** or **skip for now**.
        * The relayhost must be specified in the `IP:PORT` format.
        * **Examples of valid formats:**
          * `relay1.malwation.com:25` (correct)
          * `10.5.1.110:1025` (correct)
        * **Examples of invalid formats:**
          * `relay1.malwation.com` (missing port)
          * `10.5.1.110` (missing port)
  * **Skip mail integration:** If you do not require email-based attachment processing, you can opt out.

After you've finished filling the inputs for deployment, everything will be controlled by the HookMesh underhood.<br>

## Single Node Cluster - Final

System will ask you to reboot the machine, and everthing will be done!&#x20;

After the machine became up again after the reboot, just type the IP or Domain that you've passed to the HookMesh while making the installation to your browser, you should see a page like this:

<figure><img src="/files/E3ehtLxDvi24NYLzTAIh" alt=""><figcaption><p>HookMesh Login Page</p></figcaption></figure>

Default username and password is like this:

Username: hookmesh\_admin

Password: HookMesh123!

{% hint style="info" %}
We advise you to change these after installation.
{% endhint %}

When you pass the credentials correctly, you should see a dashboard like this, since this is the first time you open the HookMesh, it would be much more emptier than this by the way :)

<figure><img src="/files/2vg1EWLVxvV6CyoPIrYo" alt=""><figcaption><p>HookMesh Dashboard Page</p></figcaption></figure>

Please make sure you can access every page in the left-sidebar, if everything is alright, HookMesh has been installed successfully!

## Install HookMesh to Multi Node Cluster

{% hint style="danger" %}
This option is the most common option we use in the Production environments, so we advise you to do the installation & deployment process under our supervision.
{% endhint %}

The main installation steps are same in this approach, but there are some details to be checked while deploying the application. So we advise you to do the installation & deployment process under our supervision.

## Conclusion

This tutorial tries to cover almost all of the installation process, if you have any problems or see some problems with both of the setup or this document, please contact us at: <batuhan.isildak@malwation.com>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.malwation.com/hookmesh/installation-manual/how-to-install.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
