---
title: TB Edge Installation
tags: TB DevOps
---
# TB Edge Deployment
:::info
TB CE (192.168.1.205)
* \+ ==**Edge**== (192.168.1.110)
* \+ thingsboard-gateway (192.168.1.110)
* \+ sensor devices (iAeris2)
:::
:::warning
Limitations
* It is designed for **a single tenant** and **a single customer**.
* A single Edge instance is capable of handling up to **1,000 devices**.
:::
[toc]
## Installing Edge using Docker in Debian / Ubuntu
### Prerequisites :bulb:
* We need to have one live ThingsBoard CE instance first (version compatible).
* We need to have [Docker Engine](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/linux/#install-using-the-repository) on the target environment for edge instance(s).
### Edge provision on cloud
1. Login [TB](http://192.168.1.205:8080) Web GUI (smartpole@5giotlead.com/*********)
2. New create an Edge instance, see [details](https://thingsboard.io/docs/edge/getting-started/?cloudType=on-premise)
3. Copy **Edge Key** & **Secret**
### Running Edge
> [details](https://thingsboard.io/docs/user-guide/install/edge/docker/)
1. Use SSH to Connect to IoT gateway ( @192.168.1.110 )
2. New create and Edit the file - **docker-compose.yml**
* :bulb: ++essential params++
* CLOUD_ROUTING_KEY (EDGE KEY)
* CLOUD_ROUTING_SECRET (Secret)
* CLOUD_RPC_HOST (TB address or domain name)
```
version: '3.0'
services:
mytbedge:
restart: always
image: "thingsboard/tb-edge:3.4.3EDGE"
ports:
- "8080:8080"
- "1883:1883"
- "5683-5688:5683-5688/udp"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/tb-edge
CLOUD_ROUTING_KEY: PUT_YOUR_EDGE_KEY_HERE # e.g. 19ea7ee8-5e6d-e642-4f32-05440a529015
CLOUD_ROUTING_SECRET: PUT_YOUR_EDGE_SECRET_HERE # e.g. bztvkvfqsye7omv9uxlp
CLOUD_RPC_HOST: PUT_YOUR_CLOUD_IP # e.g. 192.168.1.205
volumes:
- ~/.mytb-edge-data:/data
- ~/.mytb-edge-logs:/var/log/tb-edge
postgres:
restart: always
image: "postgres:12"
ports:
- "5432"
environment:
POSTGRES_DB: tb-edge
POSTGRES_PASSWORD: postgres
volumes:
- ~/.mytb-edge-data/db:/var/lib/postgresql/data
```
* ( optional ) use rebuild docker image from source code
* [docker image import & export](https://hackmd.io/Dj-kjYP5TnezsNkA5ihC-g?view#Docker-image-%E5%8C%AF%E5%87%BA-amp-%E5%8C%AF%E5%85%A5%E6%AA%94%E6%A1%88)
2. Create folders for storing data and logs
```
mkdir -p ~/.mytb-edge-data && sudo chown -R 799:799 ~/.mytb-edge-data
mkdir -p ~/.mytb-edge-logs && sudo chown -R 799:799 ~/.mytb-edge-logs
```
3. Run up docker compose (working directory with a file named docker-compose.yml) to bring up docker containers in the background
```
docker compose up -d
or
docker-compose up -d
```
4. Check docker console logs
```
docker compose logs -f mytbedge
```
5. Login Edge Web GUI based on the same credentials as the TB > http://192.168.1.110:8080
## References
* [Install / Upgrade ThingsBoard Edge using Docker](https://hackmd.io/pGm_5F8zTeSB8j_z-DISbQ?view)
* [Troubleshooting instruments and tips](https://thingsboard.io/docs/edge/user-guide/troubleshooting/)