# 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 module management page of dashboard, 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 Dashboard to start and stop the module

Enable loading modules with 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:

[
    {
    "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"
        }
    }
]
Copied!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Use Dashboard to start and stop the module

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.