Company
Services
Blog
Downloads
Search…
1.12.3
Welcome
Getting Started
Downloads
VerneMQ / MQTT Introduction
Installing VerneMQ
Installing on Debian and Ubuntu
Installing on CentOS and RHEL
Running VerneMQ using Docker
Configuring VerneMQ
Introduction
The VerneMQ conf file
Auth using files
Auth using a database
MQTT Options
MQTT Listeners
HTTP Listeners
Non-standard MQTT options
Websockets
Logging
Consumer session balancing
Plugins
Shared subscriptions
Advanced Options
Storage
MQTT Bridge
VerneMQ Clustering
Introduction
Inter-node Communication
Dealing with Netsplits
Live Administration
Introduction
Inspecting and managing sessions
Retained messages
Live reconfiguration
Managing Listeners
HTTP API
Tracing
Monitoring
Introduction
$SYSTree
Graphite
Netdata
Prometheus
Health Checker
Status Page
Plugin Development
Introduction
Session lifecycle
Subscribe Flow
Publish Flow
Enhanced Auth Flow
Erlang Boilerplate
Lua Scripting Support
Webhooks
Misc
Loadtesting VerneMQ
Not a tuning guide
Change Open File Limits
Guides
A typical VerneMQ deployment
VerneMQ on Kubernetes
Loadtesting VerneMQ
Clustering during development
Not a tuning guide
Change Open File Limits
Powered By
GitBook
Erlang Boilerplate
We recommend to use the
rebar3
toolchain to generate the basic Erlang OTP application boilerplate and start from there.
1
rebar3 new app name="myplugin" desc="this is my first VerneMQ plugin"
2
===> Writing myplugin/src/myplugin_app.erl
3
===> Writing myplugin/src/myplugin_sup.erl
4
===> Writing myplugin/src/myplugin.app.src
5
===> Writing myplugin/rebar.config
6
===> Writing myplugin/.gitignore
7
===> Writing myplugin/LICENSE
8
===> Writing myplugin/README.md
Copied!
Change the
rebar.config
file to include the
vernemq_dev
dependency:
1
{
erl_opts
,
[
debug_info
]}.
2
{
deps
,
[{
vernemq_dev
,
3
{
git
,
"git://github.com/vernemq/vernemq_dev.git"
,
{
branch
,
"master"
}}}
4
]}.
Copied!
Compile the application, this will automatically fetch
vernemq_dev
.
1
rebar3 compile
2
===> Verifying dependencies...
3
===> Fetching vmq_commons ({git,
4
"git://github.com/vernemq/vernemq_dev.git",
5
{branch,"master"}})
6
===> Compiling vernemq_dev
7
===> Compiling myplugin
Copied!
Now you're ready to implement the hooks. Don't forget to add the proper
vmq_plugin_hooks
entries to your
src/myplugin.app.src
file.
For a complete example, see the
vernemq_demo_plugin
.
Plugin Development - Previous
Enhanced Auth Flow
Next - Plugin Development
Lua Scripting Support
Last modified
3yr ago
Export as PDF
Copy link
Edit on GitHub