m3MESSAGING
MIDDLEWARE
EN
Get started ↗
YOUR INFRASTRUCTURE. YOUR RULES.

Different systems.
One unified flow.

Connect services, manage routes and track every message. M3 makes complex data exchange a clear, manageable process.

SELF-HOSTED / JAVA + SPRING BOOT / COMMUNITY & SCALE
MESSAGE FLOWINTERACTIVE DEMO
01 / INGESTION
ROUTING ENGINE RULES → ACTIONS
02 / DELIVERY
⌁KafkaServices and events
▤DirectoryFile directory
↳SFTP → persist → rule → KafkaDEMO
Click a source to change the route↖
ONE PLATFORM.
FAMILIAR PROTOCOLS.
FTP ↗SFTP ↳Kafka ⋮RabbitMQ ⇄Directory ▤REST API ⌘
01 / FEATURES

Less glue code.
More clarity.

Everything you need for messaging,
in one visual interface.

⇄01

Connect with ease

Configure inbound and outbound channels. Update connection settings without restarting the application.

⑂02

Define your own rules

Match headers, payloads and metadata. Route, transform, filter and enrich messages.

◎03

Follow every message

Inspect history, statuses, payloads and processing jobs. Investigate errors and manage retries in the interface.

02 / ARCHITECTURE

The interface rests.
The flow continues.

Management and processing are separate. Independent workers execute rules and deliver messages even when the interface is stopped.

Explore the architecture ↗
▦ Control panel CHANNELS · RULES · MONITORING
▱
PostgreSQLMESSAGES + JOB QUEUE
Persisted ✓
Worker 01 Worker 02 Worker …

Multiple workers and pools are available in Scale

01Persist first

Messages and metadata are stored before receipt notifications are published.

02Retry on failure

A transactional outbox and delivery jobs retain pending work when a transport is unavailable.

03Keep a record

Processing statuses and execution results remain in the shared database.

03 / EDITIONS

Start small.
Grow with your flow.

One Docker image. Two operating modes.
Start free, activate Scale when you need it.

Community

TO GET STARTED

Core messaging in your own infrastructure.

Freefor business use*
  • All five channel types and REST API
  • Visual processing rules
  • Message history and retries
  • Basic execution configuration
Start with Community ↗

Scale.

TO SCALE UP

Capacity management for a growing workload.

commercial activation
  • Everything in Community
  • Additional workers
  • Multiple worker pools
  • Queue-based autoscaling
  • Corporate login: Keycloak, OIDC, AD/LDAP

* Community is free for business use, including processing customers' data and providing services through your installation. Code modification and redistribution of builds require separate written permission. Read the terms ↗

04 / QUICK START

Your first flow
starts here.

Run the ready-made sysadminanywhere/m3 image with Docker Compose. Then open the control panel at localhost:8080 and configure your first channel.

Edit .env before starting: set an admin password of 16–72 UTF-8 bytes, private database and broker passwords, and M3_SECRET_KEY. Generate the key with openssl rand -base64 32 and keep it with your backups.

Download Compose ↓
Download .env example ↓

Community source for your own build ↗

QUICK START / TERMINAL
# Download the deployment files
$ mkdir m3
$ cd m3
$ Download compose.yaml
$ Download .env example

# Configure .env, then start the stack
$ docker compose pull
$ docker compose up -d
Docker + Docker Compose → localhost:8080
A FEW MORE DETAILS

Good to know.

Where does my data live?+

M3 runs in your infrastructure. PostgreSQL stores messages, configuration and processing jobs. Docker Compose starts the application, PostgreSQL, RabbitMQ and a Docker API proxy.

Is M3 open source?+

M3 is source-available, not open source. Community allows free business use, including services to customers. Contractors may install and administer M3 on your behalf in your infrastructure. Code modification and redistribution of builds require separate written permission. See the license terms in the repository.

What if the broker is unavailable?+

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.

How do I switch to Scale?+

The same m3 Docker image runs in Community mode without a license. Install your signed license to activate purchased Scale features. No image change or rebuild is needed. After the paid term and grace period end, the same image returns to Community mode.

Can I use corporate accounts?+

Scale supports Keycloak and other OpenID Connect providers, Active Directory and LDAP. Configure your provider and map its groups to M3 roles. Corporate login requires a license with external authentication enabled; local administrator login remains available.

↗

Let your systems
speak the same language.

Connect your first channel ↗
M3 SCALE / LET’S TALK

Request a quote

Tell us about your deployment and we’ll help you choose the right capacity.

Your contact details will be used to respond to this request.

M3 Scale · [email protected]