# Quick Start

### Requirements

* Connect to a fully synced chain's client, such as Orbit Chain, Ethereum, Klaytn, Terra, etc... Here are some helpful instructions:
  * Ethereum
    * [infura.io](https://infura.io)
    * [Run Geth](https://geth.ethereum.org/docs/)
  * Klaytn
    * [Run Endpoint Node](https://docs.klaytn.com/getting-started/quick-start/launch-an-en)
  * Terra
    * [public lcd](https://lcd.terra.dev)
    * [Run terra node](https://docs.terra.money/node/installation.html)
* Docker-compose

### Using Docker

* for aligned environments, we recommend using Docker.
* Please refer to these links if you have a problem while installing Docker.&#x20;
  * [docker-engine](https://docs.docker.com/engine/install/), [docker-compose](https://docs.docker.com/compose/install/)

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

```bash
# docker engine section
sudo apt-get remove -y docker docker-engine docker.io containerd runc &&
sudo apt-get update &&
sudo apt-get upgrade -y &&
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common &&   
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - &&
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable" &&
sudo apt-get update &&
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

# docker compose section
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
```

{% endtab %}

{% tab title="..." %}

{% endtab %}
{% endtabs %}

### Download

* Download source files [here](https://github.com/orbit-chain/bridge-dockerize/releases)
* Download a specific vault's **settings.js** file [here](https://github.com/orbit-chain/bridge-launch-governance)

### Setup Environments

* See the [configuration](https://app.gitbook.com/@orbit-1/s/orbit-bridge/~/drafts/-MKhDXKvuHOaX9Np7mLO/operator-guide/configuration) section.&#x20;
* Place your governance key into **settings.js**
* If using [infur](https://infura.io/) for eth node, place your infura \[PROJECT ID] into **settings.js**

```javascript
VALIDATOR_ACCOUNT : {
    TYPE: "PK",
    DATA: "YOUR_PRIVATE_KEY_HERE",
}
```

* Ddit your redis information into **settings.js, docker-compose.yml**
* It is a hard requirement to match **settings.js**'s REDIS\_HOST and **docker-compose.yml**'s service names.

{% tabs %}
{% tab title="settings.js" %}

```
REDIS_HOST: "redis",
REDIS_PORT: 6379,
REDIS_EXPIRE: 7200,
REDIS_DB : 1,

REDIS_EVENT_HOST: 'redis',
REDIS_EVENT_PORT: 6379,
REDIS_EVENT_DB: 1,
```

{% endtab %}

{% tab title="docker-compose.yml" %}

```
services:
  redis:
    image: redis:latest
```

{% endtab %}
{% endtabs %}

* Ddit your mysql root account's secret into **mysql-secret** before launching Docker.

```
echo "MY_MYSQL_ROOT_PASSWORD" > bridge-dockerize/ethvault/mysql-secret
```

* Edit your mysql information in **settings.js, docker-compose.yml**
* It is a hard requirement to match **settings.js**'s DB\_HOST and **docker-compose.yml**'s service names.

{% tabs %}
{% tab title="settings.js" %}

```
DB_HOST: 'mysql',
DB_PORT: '3306',
DB_USER: 'root',
DB_PASSWORD: mysqlSecret,
DB_DATABASE: 'bridge',
DB_CHARSET: 'utf8mb4',
DB_MIN_POOL_SIZE: 2,
DB_MAX_POOL_SIZE: 10,
```

{% endtab %}

{% tab title="docker-compose.yml" %}

```
services:
  mysql:
    image: mysql:5.7
    volumes:
      - ../data-ethvault/mysql:/var/lib/mysql
    environment:
      MYSQL_DATABASE: bridge
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql-secret
    secrets:
      - mysql-secret
    ports:
      - 13306:3306
    networks:
      - br-ethvault
secrets:
  mysql-secret:
    file: ./mysql-secret
```

{% endtab %}
{% endtabs %}

### Launch

```bash
tar xvzf bridge-dockerize-0.0.1.tar.gz
cp settings.js bridge-dockerize/ethvault/
sudo docker-compose -f bridge-dockerize/ethvault/docker-compose.yml up -d --build
```

### Monitoring

```bash
sudo docker-compose -f bridge-dockerize/ethvault/docker-compose.yml logs -f nodes
```
