Installation

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.

Deploy with DockerCompose

Create .env and docker-compose.yml file with following content.
.env
        
COMPOSE_PROJECT_NAME=eazytrax
DB_NAME=EazyTrax
DB_PASSWORD=P@ssw0rd@1
TZ=Asia/Bangkok
IP_SUBNET=192.168.80.0/24
            
        
docker-compose.yml
        
version: "3.8"

networks:
  eazytrax-network:
    driver: bridge
    ipam:
      config:
        - subnet: ${IP_SUBNET}

volumes:
  db_data:
  db_config:
  web_data:
  portainer_data:

services:

  db:
    image: mariadb:latest
    restart: always
    networks:
      - eazytrax-network
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MARIADB_MAX_CONNECTIONS: 2000
      TZ: ${TZ}
    volumes:
      - db_data:/var/lib/mysql
      - db_config:/etc/mysql/conf.d/
    ports:
      - "3306:3306"
    command:
      --max-heap-table-size=1024M --tmp-table-size=1024M

  mqtt:
    image: hivemq/hivemq4
    restart: always
    networks:
      - eazytrax-network
    ports:
      - "1883:1883"

  web:
    image: bitengine/eazytraxenterpriseweb
    restart: always
    user: root
    networks:
      - eazytrax-network
    environment:
      DataBase__Name: ${DB_NAME}
      DataBase__Host: db
      DataBase__Password: ${DB_PASSWORD}
      TZ: ${TZ}
    volumes:
      - web_data:/app/contents
    ports:
      - "8001:8080"

  engine:
    image: bitengine/eazytraxenterpriseengine
    restart: always
    networks:
      - eazytrax-network
    environment:
      DataBase__Name: ${DB_NAME}
      DataBase__Host: db
      DataBase__Password: ${DB_PASSWORD}
      Collector__MQTTServer: mqtt
      TZ: ${TZ}

  portainer:
    image: portainer/portainer-ce:latest
    restart: always
    networks:
      - eazytrax-network
    ports:
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

  aruba_proxy:
    image: bitengine/eazytraxenterpriseproxyaruba
    restart: always
    networks:
      - eazytrax-network
    environment:
      DataBase__Name: ${DB_NAME}
      DataBase__Host: db
      DataBase__Password: ${DB_PASSWORD}
      TZ: ${TZ}
    ports:
      - "8012:8080"

  tplink_proxy:
    image: bitengine/eazytraxenterprisetplinkproxy
    restart: always
    networks:
      - eazytrax-network
    environment:
      DataBase__Name: ${DB_NAME}
      DataBase__Host: db
      DataBase__Password: ${DB_PASSWORD}
      TZ: ${TZ}
    ports:
      - "8013:8080"

  meraki_proxy:
    image: bitengine/eazytraxenterprisemerakiproxy
    restart: always
    networks:
      - eazytrax-network
    environment:
      DataBase__Name: ${DB_NAME}
      DataBase__Host: db
      DataBase__Password: ${DB_PASSWORD}
      TZ: ${TZ}
    ports:
      - "8014:8080"

  huawei_proxy:
    image: bitengine/eazytraxenterprisehuaweiproxy
    restart: always
    networks:
      - eazytrax-network
    environment:
      DataBase__Name: ${DB_NAME}
      DataBase__Host: db
      DataBase__Password: ${DB_PASSWORD}
      TZ: ${TZ}
    ports:
      - "8015:8080"

  fortigate_proxy:
    image: bitengine/eazytraxenterprisefortigateproxy
    restart: always
    networks:
      - eazytrax-network
    environment:
      DataBase__Name: ${DB_NAME}
      DataBase__Host: db
      DataBase__Password: ${DB_PASSWORD}
      TZ: ${TZ}
    ports:
      - "8016:8080"

            
        
Command
        
                docker-compose pull

                docker-compose up -d