Configuration Reference

May 29, 2026 ยท View on GitHub

This page summarizes runtime configuration files, application paths, environment variables, and API discovery endpoints.

Runtime Configuration Paths

By default, Sendium reads these files relative to the application working directory:

PropertyDefaultDescription
smsg.routing.file.pathconf/routingTable.confRouting rules file.
smsg.properties.file.pathconf/smsg.propertiesWorker and SMPP configuration file.
smsg.credentials.file.pathconf/credentials.ymlHTTP and SMPP credential file.

In the Docker image, the working directory is /work, so the default configuration directory is /work/conf.

Docker Images

ImageRuntime
cytechmobile/sendium:latestJVM image based on Eclipse Temurin 25 JRE.
cytechmobile/sendium:latest-nativeNative executable image.

Important Files

FileDescription
credentials.ymlAuthentication profiles for HTTP and SMPP clients.
smsg.propertiesWorker definitions, SMPP server/client configuration, retry behavior, logging-related worker settings.
routingTable.confRouting tables and rules used to select workers.

Common Docker Environment Variables

VariableExampleDescription
QUARKUS_LOG_LEVELINFORoot Quarkus log level.
LOG_LEVELINFOSendium package log level.
QUARKUS_LOG_CONSOLE_ENABLEfalseEnables or disables console logging.
QUARKUS_LOG_FILE_ENABLEtrueEnables or disables file logging.
QUARKUS_LOG_FILE_PATH/work/logs/smsg.logMain application log path.
QUARKUS_LOG_FILE_SMPPCLIENT_PATH/work/logs/smppclient.logSMPP client log path.
QUARKUS_LOG_FILE_SMPPSERVER_PATH/work/logs/smppserver.logSMPP server log path.
QUARKUS_HTTP_ACCESS_LOG_ENABLEtrueEnables HTTP access logging.
QUARKUS_HTTP_ACCESS_LOG_DIRECTORY/work/logsHTTP access log directory.

Logs

LogDescription
smsg.logMain application log.
smppclient.logSMPP client connection and message activity.
smppserver.logSMPP server bind, session, and message activity.
httpapi.logHTTP API access log when file logging is enabled.

httpapi.log records the HTTP method, request path, protocol, response status, bytes sent, response time, referer, and user agent by default. It intentionally omits the query string because the Kannel-compatible /sendsms API carries credentials, phone numbers, callback URLs, and message text in query parameters.

If you customize quarkus.http.access-log.pattern, avoid %r, %q, %{QUERY_STRING}, and %{q,...} unless the resulting logs are treated as sensitive data.

Worker diagnostic flags such as log.pdus, log.bytes, print.msgs, print.resps, and print.mos are disabled by default. Enabling them can write SMPP credentials, phone numbers, provider identifiers, callback URLs, and message bodies to logs.

message.* lifecycle trace logs are controlled by message.trace.mode. The default necessary mode keeps message.accepted, message.submitted, message.dlr, and message.deliver.sent; use off to disable all message-flow logs or all to include route/enqueue/response/retry detail.

OpenAPI

When the HTTP server is running, Sendium exposes:

EndpointDescription
/swagger-uiInteractive Swagger UI.
/openapi.jsonOpenAPI JSON document.