# Start Docker container

Truebit on Ethereum is packaged as a Docker container.  Before you can run Truebit, you will need to first start Docker.

1\. **Set Variables**

{% tabs %}
{% tab title="Linux (Ubuntu)" %}

```sh
export mypass=secretclefpassword
export YYY=$HOME'/truebit-docker'
```

{% endtab %}

{% tab title="MacOS" %}

```sh
export mypass=secretclefpassword
export YYY=$HOME'/truebit-docker'
```

{% endtab %}

{% tab title="Windows" %}

```powershell
SET mypass=mypassword
SET YYY=%userprofile%/truebit-docker
```

{% endtab %}
{% endtabs %}

**2. Start Docker**&#x20;

{% tabs %}
{% tab title="Linux (Ubuntu)" %}

```sh
docker run -e TBPASS=$mypass --network host -v $YYY/docker-clef:/root/.clef -v $YYY/docker-geth:/root/.ethereum -v $YYY/docker-ipfs:/root/.ipfs -v $YYY/docker-consensus:/root/.eth2 --name truebit -dit truebitprotocol/truebit-eth:latest /bin/bash
```

{% endtab %}

{% tab title="MacOS" %}

```sh
docker run -e TBPASS=$mypass --network host -v $YYY/docker-clef:/root/.clef -v $YYY/docker-geth:/root/.ethereum -v $YYY/docker-ipfs:/root/.ipfs -v $YYY/docker-consensus:/root/.eth2  --name truebit -dit truebitprotocol/truebit-eth:latest /bin/bash
```

{% endtab %}

{% tab title="Windows" %}

```sh
docker run -e TBPASS=%mypass% --network host -v %YYY%/docker-clef:/root/.clef -v %YYY%/docker-geth:/root/.ethereum -v %YYY%/docker-ipfs:/root/.ipfs -v %YYY%/docker-consensus:/root/.eth2 --name truebit -dit truebitprotocol/truebit-eth:latest /bin/bash
```

{% endtab %}
{% endtabs %}
