Getting Started Guide

Overview

EazyTrax is a powerful software solution designed to collect, store, and visualize data received from BLE gateways, access points, and other IoT devices. It seamlessly handles data such as RSSI, MAC addresses, iBeacon, Eddystone, and various sensor inputs, providing users with fast, flexible, and reliable insights — all with zero-runtime overhead.

Introduction

This manual provides step-by-step instructions for deploying the EazyTrax application with its database and proxy components using Docker. The setup involves creating a Docker network and running containers for the database (EazyTrax_db), the web application (EazyTrax_web), and multiple proxies.

Prerequisites

  • System Requirements:
    • CPU: 8 vCPUs
    • RAM: 16 GB
    • Disk: 125 GB SSD
  • Ensure Docker is installed and running on your system.
  • Verify sufficient system resources to run the containers.
  • Have internet access to pull Docker images.
  • Windows Users: Install WSL2 (Windows Subsystem for Linux) and ensure Docker Desktop is configured to use it.

Component and Port Usage Table

Component Port
Database (DB) 3306
Web Application 8001
API 8002
EazyTrax Proxy 8011
Aruba Proxy 8012
TP-Link Proxy 8013
Cisco Meraki Proxy 8014
Huawei Proxy 8015
Fortigate Proxy 8016

Deployment Steps

Step 1: Create Docker Network

A dedicated Docker network ensures that all containers can communicate with each other securely. Run the following command to create the network:

docker network create --subnet=192.168.80.0/24 eazytrax-network

Step 2: Create Docker Volumes

Create two separate Docker volumes for persistent data storage:

docker volume create eazytrax_db_data
docker volume create eazytrax_web_data
                

Step 3: Deploy MariaDB Database Container

Run the following command to deploy the EazyTrax_db container:



   docker run --name EazyTrax_db \
  --network eazytrax-network \
  --restart always \
  -e MYSQL_ROOT_PASSWORD=P@ssw0rd@1 \
  -e MARIADB_MAX_CONNECTIONS=2000 \
  -v eazytrax_db_data:/var/lib/mysql \
  -e TZ=Asia/Bangkok \
  -p 3306:3306 \
  -d mariadb:latest \
  --max-heap-table-size=512M \
  --tmp-table-size=512M



                

Step 4: Deploy the Web Application

Run the following command to deploy the EazyTrax_web container:

docker run --name EazyTrax_web \
--network eazytrax-network \
-e DataBase__Name=EazyTrax \
-e DataBase__Host=EazyTrax_db \
-e DataBase__Password=P@ssw0rd@1 \
-e TZ=Asia/Bangkok \
-v eazytrax_web_data:/app/contents \
-p 8001:8080 \
-d bitengine/eazytraxenterpriseweb
                

Step 5: Deploy Proxy Containers

Run the following commands for each proxy:

# Aruba Proxy
docker run --name EazyTrax_aruba_proxy \
--network eazytrax-network \
--restart always \
-e DataBase__Name=EazyTrax \
-e DataBase__Host=EazyTrax_db \
-e DataBase__Password=P@ssw0rd@1 \
-e TZ=Asia/Bangkok \
-p 8012:8080 \
-d bitengine/eazytraxenterprisearubaproxy

# TP-Link Proxy
docker run --name EazyTrax_tplink_proxy \
--network eazytrax-network \
--restart always \
-e DataBase__Name=EazyTrax \
-e DataBase__Host=EazyTrax_db \
-e DataBase__Password=P@ssw0rd@1 \
-e TZ=Asia/Bangkok \
-p 8013:8080 \
-d bitengine/eazytraxenterprisetplinkproxy

# Cisco Meraki Proxy
docker run --name EazyTrax_meraki_proxy \
--network eazytrax-network \
--restart always \
-e DataBase__Name=EazyTrax \
-e DataBase__Host=EazyTrax_db \
-e DataBase__Password=P@ssw0rd@1 \
-e TZ=Asia/Bangkok \
-p 8014:8080 \
-d bitengine/eazytraxenterprisemerakiproxy

# Huawei Proxy
docker run --name EazyTrax_huawei_proxy \
--network eazytrax-network \
--restart always \
-e DataBase__Name=EazyTrax \
-e DataBase__Host=EazyTrax_db \
-e DataBase__Password=P@ssw0rd@1 \
-e TZ=Asia/Bangkok \
-p 8015:8080 \
-d bitengine/eazytraxenterprisehuaweiproxy

# Fortigate Proxy
docker run --name EazyTrax_fortigate_proxy \
--network eazytrax-network \
--restart always \
-e DataBase__Name=EazyTrax \
-e DataBase__Host=EazyTrax_db \
-e DataBase__Password=P@ssw0rd@1 \
-e TZ=Asia/Bangkok \
-p 8016:8080 \
-d bitengine/eazytraxenterprisefortigateproxy
                

Step 6: Verify the Deployment

Run the following commands to check:

  • Check running containers: docker ps
  • View logs for a container: docker logs <container-name>
  • Access web application: http://<host-ip>:8001

Troubleshooting

  • Database Connection Issues: Ensure EazyTrax_db is running and accessible.
  • Port Conflicts: Verify specified ports are not in use by other services.
  • Network Issues: Confirm all containers are connected using docker network inspect eazytrax-network.