nebojsa/tlq

By nebojsa

Updated 8 months ago

Lightweight message queue in Rust. Zero-config AWS SQS alternative for dev/testing/microservices.

Image
Message queues
Developer tools
Web servers
0

590

nebojsa/tlq repository overview

⚠️ WARNING: This repository has moved to GitHub Container Registry

New location: ghcr.io/skyaktech/tlq

Please update your pull commands:

docker pull ghcr.io/skyaktech/tlq:latest

Docker Hub images will no longer be updated after 2025-11-12T20:00:00.000Z


TLQ - Tiny Little Queue

A minimal, high-performance message queue server in Rust - the lightweight alternative to AWS SQS for development and microservices.

🚀 Quick Start

# Run TLQ server
docker run -p 1337:1337 nebojsa/tlq:latest

# Test it's working
curl http://localhost:1337/hello

✨ What is TLQ?

TLQ is a zero-configuration message queue server designed for:

  • Development & Testing - Drop-in replacement for complex message brokers
  • Microservices - Lightweight inter-service communication
  • Job Processing - Simple task distribution and retry mechanisms
  • Local Development - No external dependencies or setup required

📡 Simple REST API

All operations use JSON over HTTP:

# Add message to queue
curl -X POST localhost:1337/add \
  -H "Content-Type: application/json" \
  -d '{"body":"Process this task"}'

# Get messages from queue
curl -X POST localhost:1337/get \
  -H "Content-Type: application/json" \
  -d '{"count":5}'

# Delete processed messages
curl -X POST localhost:1337/delete \
  -H "Content-Type: application/json" \
  -d '{"ids":["message-uuid"]}'

# Retry failed messages
curl -X POST localhost:1337/retry \
  -H "Content-Type: application/json" \
  -d '{"ids":["message-uuid"]}'

🎯 Key Features

  • Zero Configuration - Runs out of the box, no setup required
  • Fast & Lightweight - Written in Rust, minimal resource usage
  • Time-Ordered Messages - UUID v7 IDs provide natural ordering
  • Built-in Retry Logic - Handle failed message processing
  • Docker-First - Multi-architecture support (AMD64/ARM64)
  • Simple HTTP API - No complex protocols or clients needed

🏗️ Perfect For

Use CaseWhy TLQ?
Local DevelopmentNo Redis/RabbitMQ setup needed
TestingDeterministic, in-memory queue behavior
MicroservicesLightweight service communication
CI/CD PipelinesFast startup, no external dependencies
PrototypingSQS-like functionality without AWS

🔧 Configuration

TLQ runs with sensible defaults:

  • Port: 1337 (configurable via environment)
  • Storage: In-memory (ephemeral)
  • Message Limit: 64KB per message
  • No Authentication: Perfect for internal/development use

📦 Available Tags

  • latest - Latest stable release
  • 0.2.0 - Specific version tags
  • All images support linux/amd64 and linux/arm64

🚀 Production Considerations

TLQ is designed for development and lightweight production use cases:

  • ✅ High performance and low memory usage
  • ✅ Zero external dependencies
  • ⚠️ In-memory storage (messages lost on restart)
  • ⚠️ Single-node only (no clustering)
  • ⚠️ No authentication/authorization

For persistent, distributed queues, consider upgrading to Redis, RabbitMQ, or AWS SQS.


Built with ❤️ in Rust by Nebojsa Jakovljevic

Tag summary

Content type

Image

Digest

sha256:30b1f77d4

Size

34.4 MB

Last updated

8 months ago

docker pull nebojsa/tlq:moved