# Requirements

Minimum hardware requirements to run the full solution locally:

{% tabs %}
{% tab title="Full solution" %}

* 4-core x86-64 CPU (Intel, AMD) with virtualization capabilities
* 16GB RAM
* 5GB hard drive
  {% endtab %}

{% tab title="Server only" %}

* 2-core x86-64 CPU (Intel, AMD) with virtualization capabilities
* 16GB RAM
* 10GB hard drive
  {% endtab %}

{% tab title="Runner only" %}

* 2-core x86-64 CPU (Intel, AMD) with virtualization capabilities (not needed for native runner)
* 8GB RAM
* 2GB hard drive
  {% endtab %}
  {% endtabs %}

Note that additional hard drive space is required for use, depending on the size of your projects.

Supported OS:

* Windows 10
* Windows 11

Software requirements:

{% tabs %}
{% tab title="Full solution" %}

* [Docker Desktop](https://docs.docker.com/desktop/install/windows-install/) (4.26.0 or later) or [Rancher Desktop](https://rancherdesktop.io/) (1.11.1 or later). Check that docker-compose version is at least 2.21.

{% hint style="info" %}
Note that Docker Desktop may be a non-free solution depending on the size or revenues or your company, so you may prefer Rancher Desktop in that case.
{% endhint %}

* [Visual Studio C++ Redistributable 2017](https://aka.ms/vs/17/release/vc_redist.x64.exe). Double-click on the downloaded file and follow the steps to install it.

{% hint style="info" %}
If you don't know if Visual Studio C++ Redistributable 2017 is already installed on your system, you may proceed with beLow installation without installing it and finally install it if it turns up that you are unable to run the user interface because of missing libraries.
{% endhint %}
{% endtab %}

{% tab title="Server only" %}

* [Docker Desktop](https://docs.docker.com/desktop/install/windows-install/) (4.26.0 or later) or [Rancher Desktop](https://rancherdesktop.io/) (1.11.1 or later). Check that docker-compose version is at least 2.21.
  {% endtab %}

{% tab title="Runner only" %}
No dependency is needed for runner only.
{% endtab %}
{% endtabs %}

To build/run code on your system (full solution or native runner only), running local scripts must be allowed on the system. To know if your system is able to run such scripts, run in a Powershell terminal:

```powershell
Get-ExecutionPolicy
```

If result is `Restricted`, then you must [change the execution policy](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7.4) to `RemoteSigned` or `Unrestricted` (less safe). For this, open a Powershell terminal **as an administrator**.

You may do that by setting execution policy to your current user:

```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```

You may also apply it to the whole local machine:

```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
```

After running one of these commands, `Get-ExecutionPolicy` should return `RemoteSigned`.

{% hint style="warning" %}
You may still use beLow without changing execution policy, but jobs won't be able to run natively on your local system, and so you won't be able to run a Windows build or a Windows code execution.
{% endhint %}

To be able to support Docker virtualization for non-x86 platforms, the following command should be run in a non-admin Powershell terminal, while Docker Desktop or Rancher Desktop is running:

```sh
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
```


---

# Agent Instructions: 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.wedolow.com/documentation/below/installation-guide/installation-instructions/windows/requirements.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.
