- What is BunkerM?
- πΌ Need Custom MQTT Features? Reach Out Today!
- Solution Overview
- Quick Start with Docker
- β Core Features
- π οΈ Troubleshooting
- β¨ Features
- π° Community vs Paid versions
- β€οΈ Support BunkerM Project
- π License
BunkerM is an open-source, containerized MQTT management solution that bundles together a Mosquitto broker with a comprehensive web interface. It provides a complete, ready-to-deploy MQTT environment with built-in management capabilities, eliminating the need for separate broker setup and configuration.
This all-in-one solution features dynamic security controls, real-time monitoring, client activity logging, and cloud integration capabilities. The entire stack - Mosquitto broker, backend services, and frontend UI - comes pre-configured in Docker containers for easy deployment and management.
Website: https://bunkeriot.com
Email me at: support@bunkeriot.com
Let's connect!
- Mosquitto MQTT Broker (pre-configured)
- Backend Management Services
- Web-based Management Interface
- Dynamic Security Module
- Monitoring and Logging System
- Cloud Bridge Integration (Pro Feature)
Get up and running in seconds with BunkerM!
Make sure to have Docker installed on your machine before running the command below:
docker run -d -p 1900:1900 -p 2000:2000 bunkeriot/bunkerm
This command:
- Runs BunkerM in detached mode (
-d
) - Maps the MQTT broker port to 1900 (
-p 1900:1900
) - Maps the Web UI port to 2000 (
-p 2000:2000
) - Uses the official BunkerM image (
bunkeriot/bunkerm
)
For production environments, you'll want to persist your data across container restarts:
docker run -d -p 1900:1900 -p 2000:2000 \
-v mosquitto_data:/var/lib/mosquitto \
-v mosquitto_conf:/etc/mosquitto \
-v auth_data:/data \
bunkeriot/bunkerm
This command adds:
- A volume for Mosquitto data (
-v mosquitto_data:/var/lib/mosquitto
) - A volume for authentication data (
-v auth_data:/data
)
If you need to access BunkerM from outside the host machine:
docker run -d -p 1900:1900 -p 2000:2000 \
-e HOST_ADDRESS=<HOST_IP> \
bunkeriot/bunkerm
Replace <HOST_IP>
with your host machine's IP address or domain name.
- Open your browser and navigate to
http://localhost:2000
- The BunkerM web interface will load directly without any security warnings
- Default port:
1900
- Make sure to add a new MQTT client from the UI (Client Accounts menu) to connect to the broker.
Monitor and control MQTT client connections in real-time through the "Recent MQTT Events" dashboard:
- Connected clients count
- Message statistics
- Byte transfer rates
- Subscription tracking
- Retained message counts
Manage your MQTT broker's clients:
- Create new MQTT clients
- Set client credentials
- Manage client permissions
- Group assignments
- Create and configure roles
- Set up ACL rules
- Define topic permissions
- Manage access patterns
- Create client groups
- Assign roles to groups
- Manage group members
- Set priorities
Connect to major cloud providers:
- AWS IoT endpoint configuration
- Certificate management
- Topic mapping
- Secure communication
- IoT Hub connection setup
- Device authentication
- SAS token management
- Topic routing
This module provides a real-time list of currently connected clients on a node, along with the ability to connect or disconnect an MQTT client using the "Enable" and "Disable" buttons.
- Verify Docker is running
- Check port availability (2000)
- Monitor Docker logs
- Verify network connectivity
- Check SSL certificate configuration
Feature | Community | Pro | Enterprise |
---|---|---|---|
Max Clients | Unlimited | Unlimited | Unlimited |
High Availability & Clustering | β | β | β |
Clustering for High Availability | β | β | β |
Cluster Management UI | β | β | β |
Load Balancer | β | β | β |
Cluster Management REST API | β | β | β |
Enhanced HA Monitoring | β | β | β |
Feature | Community | Pro | Enterprise |
---|---|---|---|
Dynamic Security | β | β | β |
BunkerM Cluster Cloud Management | β | β | β |
Multiple Connected Brokers | β | β | β |
Edge Management UI | β | β | β |
Feature | Community | Pro | Enterprise |
---|---|---|---|
Client Authentication (ID+Password) | β | β | β |
Offline Authentication | β | β | β |
Client Certificate Authentication | β | β | β |
Self-Signed SSL | β | β | β |
PSK Authentication | β | β | On-demand |
Dynamic Security Plugin | β | β | β |
ACLs (Client, Role, Group Levels) | β | β | β |
Anonymous Client Access | β | β | β |
Custom CAs | β | β | On-demand |
HTTPS/TLS Termination | β | β | β |
Audit Trail | β | β | On-demand |
OAuth 2.0 / JWT Authentication | β | β | β |
LDAP Authentication | β | β | β |
Feature | Community | Pro | Enterprise |
---|---|---|---|
Azure IoT Hub | β | β | β |
AWS IoT Core | β | β | β |
Kafka Bridge | β | β | On-demand |
MongoDB/Atlas Bridge | β | β | On-demand |
MySQL Bridge | β | β | On-demand |
PostgreSQL Bridge | β | β | On-demand |
MariaDB Bridge | β | β | On-demand |
TimescaleDB Bridge | β | β | On-demand |
Amazon Redshift Bridge | β | β | On-demand |
CockroachDB Bridge | β | β | On-demand |
MS SQL Server Bridge | β | β | On-demand |
Oracle DB Bridge | β | β | On-demand |
Snowflake Bridge | β | β | On-demand |
InfluxDB Metrics Exporter | β | β | On-demand |
Prometheus Metrics Exporter | β | β | On-demand |
Feature | Community | Pro | Enterprise |
---|---|---|---|
Broker Insights | β | β | β |
Connected Clients Listing | β | β | β |
Broker Status | β | β | β |
User Authentication | β | β | β |
Unlimited Users | β | β | β |
User Roles & RBAC | β | β | β |
Single Sign-On (SSO) | β | β | β |
REST APIs | β | β | β |
Application Tokens | β | β | β |
Client Control | β | β | β |
Feature | Community | Pro | Enterprise |
---|---|---|---|
MQTT V3.1.1 | β | β | β |
MQTT V5 | β | β | β |
MQTT over TLS (MQTTS) | β | β | β |
WebSockets (WS) | β | β | β |
WebSockets over TLS (WSS) | β | β | β |
Sparkplug | β | β | β |
Sparkplug Decoding | β | β | β |
Feature | Community | Pro | Enterprise |
---|---|---|---|
Quality of Service (QoS) Levels | β | β | β |
Last Will Messages | β | β | β |
Retained Messages | β | β | β |
Persistent Connections | β | β | β |
Mount Points | β | β | β |
Feature | Community | Pro | Enterprise |
---|---|---|---|
Docker (Linux, Windows, macOS, RPi) | β | β | β |
RPM (RedHat, CentOS, Rocky Linux) | β | β | β |
Kubernetes | β | β | β |
OpenShift | β | β | β |
Windows | β | β | β |
White Labeling | β | β | β |
My mission with BunkerM is to democratize IoT by making MQTT management accessible to everyone. The Community Version is designed to be lightweight, easy to use, and completely free, offering essential features for individuals and small projects.
However, to sustain the development of the Community Version and continue delivering value, I'm introducing Pro and Enterprise Versions. These versions are tailored for businesses and advanced users, offering additional features like:
- Local authentication (no internet required)
- Fine-grained RBAC (Role-Based Access Control)
- LDAP and SSO integrations
- Advanced monitoring and analytics
- Enterprise-grade support
The revenue from the Pro and Enterprise versions will directly support the development and maintenance of the free Community Version. This way, I can keep BunkerM accessible to everyone while also meeting the needs of larger organizations.
If the open-source community shows enough support, I may consider making the Pro version free as well. Your feedback and contributions are invaluable in shaping the future of BunkerM!
BunkerM is an open-source project dedicated to making MQTT broker management accessible and secure for everyone. As a solo developer, I've poured countless hours into creating a comprehensive solution that combines the power of Mosquitto with an intuitive management interface, all while keeping it free for non-commercial use.
Your donation helps support:
- Continuous development of new features
- Maintenance and bug fixes
- Documentation improvements
- Community support
Every contribution, no matter the size, helps keep this project active and growing. If you find BunkerM useful in your projects or learning journey, consider supporting its development. Together, we can make IoT and MQTT technology more accessible to developers worldwide.
Thank you for supporting open source! π
This project is licensed under the Apache License 2.0. You are free to use, modify, and distribute this software, even for commercial purposes, under the terms of the license.
π Full license details: LICENSE
πΌ For any inquiries, feel free to reach out: support@bunkeriot.com