Sign inSign up

sameeryadav2005/messagex-v2

By sameeryadav2005

•Updated 3 days ago

Image
0

36

sameeryadav2005/messagex-v2 repository overview

MessageX Logo

Self-hosted Message Broker Platform

Docker Version Self Hosted

⁠MessageX Launcher

Repository: sameeryadav2005/messagex-v2

The MessageX Launcher deploys the complete MessageX platform with a single Docker command.

It automatically manages:

  • MessageX Broker
  • MessageX Dashboard
  • PostgreSQL database
  • Docker network and persistent storage
  • Initial administrator account

⁠Features

  • One-command installation
  • Automatic PostgreSQL setup and migrations
  • Persistent database and administrator credentials
  • Configurable host ports
  • Automatic broker and dashboard startup
  • No Git clone required
  • No mandatory domain, Nginx, or TLS setup

⁠Architecture

       Client Applications
      (JavaScript / Python / Java)
                  |
                  | TCP :5678
                  v
          MessageX Broker
                  |
          +-------+-------+
          |               |
          v               v
      Dashboard       PostgreSQL
      HTTP :15672     Private :5432
          |
          v
    Management API
    Private :3000

⁠Requirements

  • Docker Engine or Docker Desktop
  • Internet access to pull images
  • Host ports 5678 and 15672 available by default
  • Recommended: 2 GB RAM and 2 vCPUs for a small deployment

⁠Quick Start

⁠1. Pull the launcher
docker pull sameeryadav2005/messagex-v2:0.1.8
⁠2. Start MessageX
docker run -d \
  --name messagex \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v messagex_launcher_data:/data \
  sameeryadav2005/messagex-v2:0.1.8

The launcher automatically pulls the broker and dashboard images and starts PostgreSQL.

⁠3. Access MessageX
ComponentAddress
Dashboardhttp://localhost:15672⁠
Broker TCPlocalhost:5678
Management APIPrivate Docker network, port 3000
PostgreSQLPrivate Docker network, port 5432

Open the dashboard in your browser and log in using the administrator credentials.

⁠Administrator Credentials

If you want to provide your own credentials on the first startup:

docker run -d \
  --name messagex \
  --restart unless-stopped \
  -e MESSAGEX_DEFAULT_USER=admin \
  -e MESSAGEX_DEFAULT_PASS=YourStrongPassword123 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v messagex_launcher_data:/data \
  sameeryadav2005/messagex-v2:0.1.8

Password requirements:

  • Minimum 12 characters.
  • Set both username and password variables together.
  • These variables configure the initial account only.

If credentials are omitted, the launcher generates a password and prints it in the launcher logs.

Retrieve saved credentials:

docker exec messagex cat /data/credentials.txt

⁠Configuration

VariableDefaultDescription
MESSAGEX_DEFAULT_USERadminInitial administrator username
MESSAGEX_DEFAULT_PASSGeneratedInitial administrator password
TCP_PORT5678Host port for broker connections
DASHBOARD_PORT15672Host port for dashboard
TCP_BIND_ADDRESS0.0.0.0Broker host bind address
MESSAGEX_BROKER_VERSION0.1.1Broker image version
MESSAGEX_DASHBOARD_VERSION0.1.4Dashboard image version
MESSAGEX_VERSIONNot setOptional common version override
⁠Custom Ports

Example: use broker port 5679 and dashboard port 8080.

docker run -d \
  --name messagex \
  --restart unless-stopped \
  -e TCP_PORT=5679 \
  -e DASHBOARD_PORT=8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v messagex_launcher_data:/data \
  sameeryadav2005/messagex-v2:0.1.8

The internal broker port remains 5678 and the dashboard container port remains 80.

⁠Deploy on a Cloud Server

The same command works on an Ubuntu EC2 instance or another Docker-enabled server.

Allow the required inbound ports in your firewall/security group:

PortProtocolPurpose
5678TCPSDK/client connections
15672TCPDashboard HTTP access

Access using:

http://YOUR_SERVER_PUBLIC_IP:15672
YOUR_SERVER_PUBLIC_IP:5678

You can use a DNS name instead of the public IP.

⁠Useful Commands

# View launcher logs
docker logs -f messagex

# View running containers
docker ps

# Retrieve administrator credentials
docker exec messagex cat /data/credentials.txt

# Restart
docker restart messagex

# Stop
docker stop messagex

# Start
docker start messagex

⁠Persistent Storage

MessageX uses the Docker volume:

messagex_launcher_data

It stores:

  • Administrator credentials
  • PostgreSQL password

The PostgreSQL database uses a separate persistent volume managed by the launcher.

Do not delete persistent volumes if you want to preserve your data and credentials.

⁠Security Notes

  • The launcher requires access to /var/run/docker.sock, which provides significant Docker privileges.
  • Broker TCP and dashboard HTTP traffic are not TLS encrypted.
  • Restrict public access using firewall rules.
  • Do not expose PostgreSQL port 5432 or management API port 3000 publicly.
  • Use strong administrator credentials.

MessageX — Your infrastructure. Your messages. Your control.

Tag summary

Content type

Image

Digest

sha256:30b96b457…

Size

66.9 MB

Last updated

3 days ago

docker pull sameeryadav2005/messagex-v2:0.1.8