Lightning-fast, reliable message queue built with Elixir/OTP. Process millions of messages with sub-millisecond latency.
# Pull and run with Docker
docker run \
--name malachimq \
-p 4040:4040 \
-p 4041:4041 \
hectorcardoso/malachimq:latest
# Access the dashboard
open http://localhost:4041
Watch the demo video to learn how to use MalachiMQ
Built for speed, reliability, and simplicity
Built on Elixir/OTP with ETS tables for O(1) operations. Process millions of messages per second.
Leverages the Erlang VM's 30+ years of reliability. Designed for 99.99% uptime.
Built-in authentication with user management. SHA256 password hashing and session tokens.
Monitor queues, messages, and performance in real-time with the built-in web dashboard.
Production-ready Docker images. Deploy anywhere with a single command.
Connect from any language via TCP. Built-in support for Node.js, with more SDKs coming.
Get up and running in under a minute
docker run \
--name malachimq \
-p 4040:4040 \
-p 4041:4041 \
hectorcardoso/malachimq:latest
version: '3.8'
services:
malachimq:
image: hectorcardoso/malachimq:latest
ports:
- "4040:4040" # Broker
- "4041:4041" # Dashboard
environment:
- MALACHIMQ_ADMIN_PASS=secure_password
- MALACHIMQ_LOCALE=en_US
const net = require('net');
const client = net.createConnection(4040, 'localhost', () => {
// Authenticate
client.write(JSON.stringify({
action: 'auth',
username: 'producer',
password: 'producer123'
}) + '\n');
});
let authenticated = false;
client.on('data', (data) => {
const response = JSON.parse(data.toString().trim());
if (!authenticated && response.s === 'ok' && response.token) {
authenticated = true;
// Send message
client.write(JSON.stringify({
action: 'publish',
queue_name: 'my-queue',
payload: { hello: 'world' }
}) + '\n');
} else if (authenticated && response.s === 'ok') {
console.log('Message sent successfully!');
client.end();
} else if (response.s === 'err') {
console.error('Error:', response.reason);
client.end();
}
});
MalachiMQ vs other message queues
| Feature | MalachiMQ | RabbitMQ | Redis Pub/Sub |
|---|---|---|---|
| Setup Time | 1 min | 5-10 min | 2-5 min |
| Memory Footprint | ~50MB | ~150MB | ~30MB |
| Built-in Auth | ✅ Yes | ✅ Yes | ❌ No |
| Web Dashboard | ✅ Included | ✅ Plugin | ❌ No |
| Fault Tolerance | ✅ OTP | ✅ Erlang | ⚠️ Limited |
| Learning Curve | Easy | Moderate | Easy |
Everything you need to get started
MalachiMQ is in active development. Star the repo and follow along!