# 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
```


---

# 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://bridge-docs.orbitchain.io/operator-guide/quick-start.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.
