Quick start
1. Write a config
A missing config file loads the defaults — and the defaults have anonymous access disabled and an empty user store, so unauthenticated clients are refused. For a quick local trial, enable anonymous access:
{
"listeners": { "tcp": ":1883", "ws": ":8083", "ws_path": "/mqtt" },
"auth": { "providers": ["builtin"], "allow_anonymous": true },
"admin": { "addr": ":8081", "username": "admin", "password": "change-me" }
}
Keep the file chmod 600 — it holds the admin password.
2. Run the broker
xcon-mq-server -config xcon-mq.json
Listeners (defaults): :1883 MQTT/TCP, :8083 MQTT/WebSocket (path /mqtt),
:8081 the admin console + REST API.
3. Connect a client
mosquitto_sub -h 127.0.0.1 -p 1883 -t 'demo/#' -q 1
mosquitto_pub -h 127.0.0.1 -p 1883 -t 'demo/hello' -m 'world' -q 1
For real deployments, create builtin users with ACL rules instead of enabling anonymous — see Authentication & ACL.
4. Open the console
Browse to http://127.0.0.1:8081 and sign in. With no config the admin login
is admin / admin — change it. The admin server is plain HTTP and binds
all interfaces; bind it to loopback or put it behind a TLS reverse proxy.