macOS
brew install emqxlocal Homebrew formula metadata
brew
MQTT broker for IoT. Version 5.8.8 via Homebrew; verified from local package data.
install
brew install emqxlocal Homebrew formula metadata
overview
MQTT broker for IoT
history
EMQX is an Erlang-based MQTT broker and IoT messaging platform for high-scale device connectivity, MQTT protocol support, clustering, rules, data integrations, and operational management.
EMQ's tenth-anniversary post says EMQX was released as an open-source project on GitHub on December 17, 2012. The same source frames its origin around Erlang, MQTT, and open source, and says development continued through the 2010s as MQTT became a default protocol for IoT messaging.
The official history highlights several product milestones: early MQTT 3.1 and 3.1.1 compatibility, EMQX 3.0 in 2018 with full MQTT 5.0 server support, EMQX 4.0 in 2020 with a built-in SQL-based rule engine, and EMQX 5.0 with larger-scale clustering, MQTT over QUIC, and 100M+ connection testing.
The README describes EMQX as a platform rather than only a broker, with support for MQTT 5.0, 3.1.1, and 3.1, plus MQTT-SN, CoAP, LwM2M, and MQTT over QUIC. It also documents the 5.9.0 licensing/product change that unified features from the previous open-source and enterprise editions under BSL 1.1.
The anniversary post gives the clearest official adoption snapshot: more than 10K GitHub stars, more than 20M downloads, more than 20,000 enterprise users, and more than 30,000 active cluster deployments per month at the time of that post.
EMQX's commercial adoption story is also official: EMQ says the company opened in 2017 in response to enterprise users deploying EMQX at scale, and the anniversary post cites over 400 customers and over 70 Fortune 500 companies using EMQX in IoT, IIoT, connected-vehicle, and other mission-critical applications.
Package users run EMQX as a broker service, commonly exposing MQTT ports, the Dashboard, and HTTP APIs. The official README shows Docker startup, Kubernetes operator documentation, downloads for self-managed installs, and build-from-source instructions.
Configuration became more HOCON-oriented in EMQX 5. The official configuration docs describe `etc` as the static configuration directory, `data/configs` as the dynamic runtime configuration directory, `base.hocon` for configuration-as-code, `cluster.hocon` for changes persisted through Dashboard/API/CLI, and `emqx.conf` for backward-compatible immutable settings.
In deployed systems, EMQX is commonly used as the MQTT ingress and routing layer for IoT data, with rules and bridges sending messages to Kafka, RabbitMQ, PostgreSQL, MySQL, MongoDB, Redis, ClickHouse, cloud messaging services, webhooks, and observability systems.
EMQX is a heavier package-manager entry than most CLIs in this batch: it ships a broker, management commands, Erlang runtime expectations, configuration layers, a dashboard, and service-style deployment behavior. For package maintainers, it sits closer to Redis, RabbitMQ, or Mosquitto than to a single-purpose command.
It matters to package nerds because it exposes the messy but useful intersection of package managers and distributed systems: local development installs, service supervision, data directories, versioned config migration, and network ports all have to line up before the binary is useful.
security posture
formula declares a Homebrew service. infrastructure mutation or orchestration signal.
orange risk · medium confidence · infrastructure
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
etc/emqx.confetc/base.hoconetc/cluster.hoconexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
emqx | cli | global executable | |
emqx-5.8.8 | cli | global executable | |
emqx_cluster_rescue | cli | global executable | |
emqx_ctl | cli | global executable | |
emqx_ctl-5.8.8 | cli | global executable | |
emqx_fw | cli | global executable | |
install_upgrade.escript | cli | global executable | |
install_upgrade.escript-5.8.8 | cli | global executable | |
no_dot_erlang.boot | cli | global executable | |
node_dump | cli | global executable | |
nodetool-5.8.8 | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:emqx |
|---|---|
| Version | 5.8.8 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/emqx |
| Homepage | https://www.emqx.io/ |
| Repository | https://github.com/emqx/emqx |
| Upstream docs | https://docs.emqx.com/en/emqx/latest |
| License | Apache-2.0 |
| Source archive | https://github.com/emqx/emqx/archive/refs/tags/v5.8.8.tar.gz |
| Dependencies | openssl@3 |
| Build dependencies | autoconf, automake, cmake, coreutils, erlang@26, freetds, libtool |
| Uses from macOS | cyrus-sasl, krb5, ncurses |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | emqx |
| Version Scheme | 0 |
| Revision | 0 |
| Conflicts With |
|
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | yes |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.