Connect with ease
Configure inbound and outbound channels. Update connection settings without restarting the application.
Connect services, manage routes and track every message. M3 makes complex data exchange a clear, manageable process.
SFTP → persist → rule → KafkaDEMOEverything you need for messaging,
in one visual interface.
Configure inbound and outbound channels. Update connection settings without restarting the application.
Match headers, payloads and metadata. Route, transform, filter and enrich messages.
Inspect history, statuses, payloads and processing jobs. Investigate errors and manage retries in the interface.
Management and processing are separate. Independent workers execute rules and deliver messages even when the interface is stopped.
Explore the architecture ↗Multiple workers and pools are available in Scale
Messages and metadata are stored before receipt notifications are published.
A transactional outbox and delivery jobs retain pending work when a transport is unavailable.
Processing statuses and execution results remain in the shared database.
A shared core for your integrations.
More capacity when you need it.
Core messaging in your own infrastructure.
Capacity management for a growing workload.
* The licensing model is being prepared for the first publication. Community proposes free internal use without code modification or redistribution of builds. License terms and required details are still in draft form. Read the terms ↗
Clone Community and start the stack with Docker Compose. Then open the control panel at localhost:8080 and configure your first channel.
Before starting, create a file in the m3 directory named .env: set M3_ADMIN_PASSWORD (16–72 UTF-8 bytes) and M3_SECRET_KEY (32 random bytes encoded as Base64). Generate a key with openssl rand -base64 32.
# Get the source code
$ git clone https://github.com/sysadminanywhere/m3.git
$ cd m3
# Configure .env, then start the stack
$ docker compose up --build -dM3 runs in your infrastructure. PostgreSQL stores messages, configuration and processing jobs. Docker Compose starts the application, PostgreSQL, RabbitMQ and a Docker API proxy.
The project is being prepared for publication under a source-available model. The proposed Community license allows internal use, including by businesses, but prohibits code modification and redistribution of customer builds. See the current draft license in the repository.
Inbound messages remain in the database. Notifications wait in the transactional outbox and are sent when the connection is restored. Outbound delivery has separate jobs, statuses and retries.
The full distribution runs in Community mode without paid activation. A signed entitlement activates Scale features within the agreed limits. See the distribution documentation and draft commercial license for details.