# 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! ✨](https://1232356210-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBk1uDKkMXUxfNP3D6L%2F-MP6GjtsV3k37FSVqoW9%2F-MP6L79Litc5_EDcMU75%2Ftenor.gif?alt=media\&token=654673cb-6115-4da0-9b51-08ca34694631)

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