Skip to content

Module Management

The EMQX provides abundant functional modules, including authentication and authorization, protocol access, message delivery, language extension, operation and maintenance monitoring, and internal modules. On the Dashboard's module management page, modules can be started and stopped, as well as their configuration and data can be managed.

Module List

The modules currently provided by the EMQX include:

Start and Stop Modules

Currently, there are two ways to start the module:

  1. Load modules with system
  2. Use the Dashboard to start and stop the module

Load Modules with the System

If you need to start a certain module when EMQX starts, you can directly add the module that needs to be started in data/loaded_modules.

For example, the modules automatically loaded by EMQX are:

json
[
    {
    "name": "internal_acl",
    "enable": true,
    "configs": {"acl_rule_file": "{{ acl_file }}"}
    },
    {
        "name": "presence",
        "enable": true,
        "configs": {"qos": 0}
    },
    {
        "name": "recon",
        "enable": true,
        "configs": {}
    },
    {
        "name": "retainer",
        "enable": true,
        "configs": {
            "expiry_interval": 0,
            "max_payload_size": "1MB",
            "max_retained_messages": 0,
            "storage_type": "ram"
        }
    }
]

Use Dashboard to Start/Stop Modules

If the Dashboard module is enabled, you can directly start and stop the module by accessing the module management page at http://localhost:18083/modules.