Skip to content

Emqx - Scalable MQTT broker

Docs

emqx tags

docker-compose.yml | cluster

Bash
mkdir emqx1_data emqx2_data
YAML
services:
  emqx1:
    image: emqx:5.8.2
    container_name: emqx1
    environment:
      - "[email protected]"
      - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
      - "EMQX_CLUSTER__STATIC__SEEDS=[[email protected],[email protected]]"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx", "ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    networks:
      emqx-bridge:
        aliases:
        - node1.example.dev
    ports:
      - 1883:1883
      - 8083:8083
      - 8084:8084
      - 8883:8883
      - 18083:18083
    volumes:
      - ./emqx1_data:/opt/emqx/data

  emqx2:
    image: emqx:5.8.2
    container_name: emqx2
    environment:
      - "[email protected]"
      - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
      - "EMQX_CLUSTER__STATIC__SEEDS=[[email protected],[email protected]]"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx", "ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    networks:
      emqx-bridge:
        aliases:
        - node2.example.dev
    volumes:
      - ./emqx2_data:/opt/emqx/data

networks:
  emqx-bridge:
    driver: bridge

Initial creds

  • username: admin
  • password: public

Env Vars

Check

Bash
EMQX_LISTENER__SSL__EXTERNAL__ACCEPTORS <--> listener.ssl.external.acceptors
EMQX_MQTT__MAX_PACKET_SIZE              <--> mqtt.max_packet_size

EMQX_NAME container name none emqx node short name EMQX_HOST container IP none emqx node host, IP or FQDN EMQX_WAIT_TIME 5 none wait time in sec before timeout EMQX_NODE__NAME EMQX_NAME@EMQX_HOST node.name Erlang node name, name@ipaddress/host EMQX_NODE__COOKIE emqx_dist_cookie node.cookie cookie for cluster EMQX_LOG__CONSOLE console log.console log console output method EMQX_ALLOW_ANONYMOUS true allow_anonymous allow mqtt anonymous login EMQX_LISTENER__TCP__EXTERNAL 1883 listener.tcp.external MQTT TCP port EMQX_LISTENER__SSL__EXTERNAL 8883 listener.ssl.external MQTT TCP TLS/SSL port EMQX_LISTENER__WS__EXTERNAL 8083 listener.ws.external HTTP and WebSocket port EMQX_LISTENER__WSS__EXTERNAL 8084 listener.wss.external HTTPS and WSS port EMQX_LISTENER__API__MGMT 8080 listener.api.mgmt MGMT API port EMQX_MQTT__MAX_PACKET_SIZE 64KB mqtt.max_packet_size Max Packet Size Allowed