Create Docker Network
A dedicated Docker network ensures that all containers can communicate securely.
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.
Gather data from multiple IoT sources simultaneously with minimal latency.
Optimized database structure for fast queries and minimal storage footprint.
Transform complex IoT data into actionable insights through intuitive dashboards.
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.
Following these instructions will help you successfully set up all components of the EazyTrax platform for your IoT data management needs.
8 vCPUs
16 GB
125 GB SSD
Component | Docker Image | Port |
---|---|---|
Database (DB) | mariadb | 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 |
* All components communicate over a dedicated Docker network for security and isolation.
A dedicated Docker network ensures that all containers can communicate securely.
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=1024M \
--tmp-table-size=1024M
Run the following command to deploy the
EazyTrax_scheduler
container:
docker run --name EazyTrax_scheduler \
--network eazytrax-network \
--pull always \
--restart always \
-e DataBase__Name=EazyTrax \
-e DataBase__Host=EazyTrax_db \
-e DataBase__Password=P@ssw0rd@1 \
-e TZ=Asia/Bangkok \
-d bitengine/eazytraxenterprisescheduler
Run the following command to deploy the
EazyTrax_web
container:
docker run --name EazyTrax_web \
--network eazytrax-network \
--pull always \
--restart always \
-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 command to deploy the
EazyTrax_scheduler
container:
docker run --name EazyTrax_scheduler \
--network eazytrax-network \
--pull always \
--restart always \
-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/eazytraxenterprisescheduler
Run the following commands to deploy each proxy service container.
docker run --name EazyTrax_aruba_proxy \
--network eazytrax-network \
--pull always \
--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/eazytraxenterpriseproxyaruba
docker run --name EazyTrax_tplink_proxy \
--network eazytrax-network \
--pull always \
--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
docker run --name EazyTrax_meraki_proxy \
--network eazytrax-network \
--pull always \
--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
docker run --name EazyTrax_huawei_proxy \
--network eazytrax-network \
--pull always \
--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
docker run --name EazyTrax_fortigate_proxy \
--network eazytrax-network \
--pull always \
--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 your deployment:
docker ps
docker logs <container-name>
http://<host-ip>:8001
Make sure all containers are running properly before proceeding with further steps.
EazyTrax_db
is running and accessible.docker network inspect eazytrax-network
.