Skip to content

Installation & Deployment Guide

Cytech edited this page Mar 6, 2026 · 4 revisions

Welcome to the Sendium Installation Guide. This document provides step-by-step instructions on how to deploy the Sendium SMS Gateway in your environment. Sendium is containerized, making it easy to deploy using Docker or Docker Compose.

1. System Requirements

Before deploying Sendium, ensure your host machine or server meets the following network and resource requirements.

Network Ports Sendium requires the following ports to be available on the host machine:

2775: Smpp Server

8080: Backend REST API and Swagger UI.

Hardware Resources

Resource requirements depend heavily on your expected SMS throughput and the version of the image you choose to run (see Section 2).

Minimum Setup: 1 CPU Core, 1GB RAM (Native image) / 2GB RAM (Standard image).

Production Setup: 2+ CPU Cores, 4GB+ RAM.

2. Choosing the Right Docker Image

Sendium provides two distinct Docker images hosted on Docker Hub under cytechmobile/sendium, optimized for different infrastructure needs:

Standard Image (JVM) * Best for: Traditional server environments with ample memory, where peak long-term throughput is the primary goal. Tag: latest (e.g., cytechmobile/sendium:latest)

Native Image (GraalVM) Best for: Cloud-native environments, microservices architectures, or edge devices. Compiled Ahead-of-Time (AoT), it offers near-instant startup times and a drastically reduced memory footprint. Tag: latest-native

3. Quick Start: Running via Docker CLI

If you want to quickly spin up Sendium for testing or development, you can use the standard Docker CLI. To run the Standard version:

Bash

docker run -d
--name sendium-gateway
-p 2775:2775
-p 8080:8080
cytechmobile/sendium:latest

To run the Native (GraalVM) version: Bash

docker run -d
--name sendium-gateway
-p 2775:2775
-p 8080:8080
cytechmobile/sendium:latest-native

4. Production Deployment: Docker Compose

For more robust deployments—especially when you need to pass multiple environment variables or connect Sendium to other services (like a database or Redis cache)—we highly recommend using Docker Compose.

Create a docker-compose.yml file in your deployment directory:

YAML version: '3.8'

services: sendium: image: cytechmobile/sendium:latest # Change to latest-native if preferred container_name: sendium-gateway restart: unless-stopped ports: - "2775:2775" # Smpp Server port - "8080:8080" # Backend / API Port environment: # Add your environment variables here networks: - sendium-network

Start the application by running the following command in the same directory as your docker-compose.yml file:

Bash

docker-compose up -d

5. Accessing the Application

Once the container is up and running, you can access the different components of Sendium using your web browser or API clients (like Postman):

Backend Base API: http://localhost:8080

Interactive API Documentation (Swagger): http://localhost:8080/swagger-ui

Note: If you are deploying Sendium on a remote server, replace localhost with the IP address or domain name of your server. Ensure that your firewall or cloud security groups allow inbound traffic on ports 2775 and 8080.

Clone this wiki locally