# Linux

## First things first...

* Minimum requirements:
  * 8GB of RAM
  * 4 physical CPU cores
  * 20GB of disk space free
* Recommended requirements:
  * 16GB of RAM
  * 8 physical CPU cores
  * 35GB of disk space free
* You'll need to be on a 64-bit operating system to clone and build Dot Browser.
  * If typing `uname -m` into a terminal returns `x86_64` you are on a 64-bit computer.
* The following software and tools are required for the build process:
  * Git ([git-scm.org](https://git-scm.org))
  * NodeJS ([nodejs.org](https://nodejs.org))
  * yarn ([npmjs.com/package/yarn](https://www.npmjs.com/package/yarn))
  * Rust 1.53.0 ([rust-lang.org](https://www.rust-lang.org/tools/install))

{% hint style="info" %}
Dot Browser is based on Firefox, which is why it is referenced a lot in the build process.
{% endhint %}

## Clone the repository

We're now going to clone Dot Browser.

{% tabs %}
{% tab title="HTTPS" %}

```
git clone https://github.com/dothq/browser-desktop.git
```

{% endtab %}

{% tab title="SSH" %}

```
git clone git@github.com:/dothq/browser-desktop.git
```

{% endtab %}
{% endtabs %}

Or if you prefer using GitLab:

{% tabs %}
{% tab title="HTTPS" %}

```
git clone https://gitlab.com/dothq/browser-desktop.git
```

{% endtab %}

{% tab title="SSH" %}

```
git clone git@gitlab.com:dothq/browser-desktop.git
```

{% endtab %}
{% endtabs %}

After the clone is complete, you'll want to enter the `browser-desktop` directory.

### Bootstrap

Now run `./melon bootstrap` This will install the required dependencies.

{% hint style="info" %}
`melon bootstrap` only works on Arch or Ubuntu-based distros at this time.
{% endhint %}

Then run `cargo install cbindgen sccache` to install the two required Cargo packages.

### Downloading the source code and mounting

Now run `./melon download` This will download the source code.

{% hint style="info" %}
`melon` is a build toolkit for Dot Browser.
{% endhint %}

## Importing the patches

Once you've downloaded the source code, you're going to want to import the patches. You can do this by running the command below.

```bash
./melon import
```

If everything went smoothly with the import, you should see a "success" message.

## Building Dot Browser

Now, we're going to want to build Dot Browser for Linux.

It's a very resource intensive process so make sure you check the requirements against your computer. It usually takes 30 minutes for computers in the recommended requirements region.

```
cd src/dot && yarn install && cd ../.. && ./melon build
```

> If you would like to build Dot for 32-bit machines, add the `--arch i686` flag to the build command.

Once the build is done, we need to make sure the build was successful, check to see if something appeared like:

```
01:00:00 Your build was successful!
```

If you see that message, you can move on to the final step.

## Running Dot Browser

The final step is to run your locally-built version of Dot Browser.

It's as simple as running:

```
./melon run
```

And voilà, Dot should appear before your eyes!

![It's magic! ✨](/files/-MP6L79Litc5_EDcMU75)

If you encounter any issues, [open an issue on our GitHub repository](https://github.com/dothq/browser/issues/new/choose).


---

# 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.dothq.co/main/cloning-dot/linux.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.
