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
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.
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.
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 |
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
Create two separate Docker volumes for persistent data storage:
docker volume create eazytrax_db_data
docker volume create eazytrax_web_data
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
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
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
Run the following commands to check:
docker ps
docker logs <container-name>
http://<host-ip>:8001
EazyTrax_db
is running and accessible.docker network inspect eazytrax-network
.