Overview
Mango by Radix IoT's system settings control global behavior — email delivery, database connections, backup schedules, session management, and more. This reference guide covers each settings group with recommended configurations for production deployments.
Accessing System settings
Navigate to Administration → System settings. Superadmin is required to read these pages, not only to change them: the menu state carries permission: ['superadmin'] and every system-settings REST endpoint calls ensureAdminRole, so a non-superadmin sees nothing here at all.
Email Settings
Required for event handler emails and report delivery.
| Setting | Description | Example |
|---|---|---|
| Disable sending emails | Master switch, and the first control on the page. While it is ticked Mango sends nothing and the rest of the form is hidden | Leave unticked |
| SMTP host | Email server address | smtp.company.com |
| SMTP port | Server port | 587 (TLS) or 465 (SSL) |
| "From" address and "From" name | Sender address and display name on outgoing emails. (Mango renders these labels from an i18n string whose escaped quotes are not unescaped, so on screen they read with doubled apostrophes) | mango-alerts@company.com |
| Enable TLS | TLS for the SMTP connection | Enable with port 587 |
| Use authorization | Reveals Username and Password. Those two fields are hidden until this is ticked | Tick if your relay requires credentials |
| Username / Password | SMTP authentication credentials | (set securely) |
Always use the Send test email button to verify configuration before relying on email handlers. The test goes to your own user's email address, so that address must be set first.
Database Settings
| Setting | Description | Recommendation |
|---|---|---|
| SQL database backup (section) — Enable auto backup | Scheduled backup of the SQL database. The section also carries Backup now, Restore database and Backup directory | Enable in production |
| Configuration backup (separate section) | A different thing entirely: a scheduled JSON export of your configuration, not a database dump. Easy to mistake for the one above | Enable in production as well |
| Backup every + Backup hour / Backup minute | Frequency and time of day | Daily at a low-traffic hour |
| Versions to keep | Number of backup files retained | Default 10 |
| Mango NoSQL section | Time-series database settings and its own backup schedule | Enable in production |
Purge Settings
Controls how long different types of data are retained:
| Setting | Description | Recommendation |
|---|---|---|
| Purge point values older than | System default for time-series retention. Enable purge of point values must be on | Based on storage capacity (1 year typical) |
| Purge data point events older than (and the matching data source, system, publisher and per-alarm-level settings) | There is no single event purge period — each event type and alarm level has its own. Purging goes by the event's active timestamp and does not spare still-active alarms | 90 days to 1 year; longer than your longest standing alarm |
| Purge audit events older than | How long audit records are kept | Match compliance requirements |
Data source and data point purge settings can override the system default, in the order point > data source > system — but only while Use data source and data point purge setting overrides (slower) is ticked. With that box clear, Mango applies the system default and every per-point and per-source override is ignored, with no error and nothing in the log. If you have set overrides and they appear to do nothing, this checkbox is why.
Session Settings
| Setting | Description | Recommendation |
|---|---|---|
| HTTP session timeout (under HTTP server settings) | Idle time before automatic logout | 30-60 minutes for operators; longer for kiosk displays |
Web Server Settings
The listening ports are not in System settings — they are file settings in mango.properties in the data directory, read at startup, so changing them requires a restart. TLS is split between the two: the listener is a property, while the certificate is managed in System settings under Public key infrastructure.
TLS is already on in a default install. ssl.on=true and ssl.port=8443 ship enabled, and if no keystore file exists Mango serves a temporary self-signed certificate. So the production task is not "turn HTTPS on" — it is to install a certificate browsers will trust, or to terminate TLS at a reverse proxy in front of Mango.
| Property | Description | Default |
|---|---|---|
web.port | Port the web interface listens on | 8080 |
web.host | Interface to bind to | 0.0.0.0 |
web.enabled | Whether the web server starts at all | true |
ssl.on | Whether the TLS listener starts | true |
ssl.port | Port the TLS listener uses | 8443 |
What is in System settings is HTTP server settings (session behavior) and HTTP client settings (outbound proxy). For production, place Mango behind a reverse proxy (nginx, Apache) that handles SSL termination.
Instance and Display Settings
| Setting | Description | Recommendation |
|---|---|---|
| Instance description (on System information) | Prefixes the subject and body of every event notification email, labels the logo in the side menu, and identifies this server in cloud server listings | Set to the site or deployment name (e.g., "Hospital Campus A — Production") |
| System language (on Language settings) | Default language for the instance, or follow the operating system | Match your primary user base |
| Time zone | There is no system timezone setting. Mango reports the JVM default — i.e. the host's clock — and each user carries their own timezone on their profile | Set the host's timezone before you install, and leave users to choose their own |
Tip
Set the instance description early, because every event notification email is prefixed with it. It also names the logo in the side menu (as hover text) and identifies the server in cloud server listings. It does not set the browser tab — that comes from the UI module’s own title suffix. For multi-instance deployments a clear name (e.g., “Site A — Production” vs “Site A — Staging”) is what stops an operator acting on an alarm from the wrong server.
Configuration Files
Some settings are configured in files rather than the UI:
| File | Purpose | Key Settings |
|---|---|---|
mango.properties | Database, web server, JVM settings | db.type, db.url, web.port |
log4j2.xml | Shipped inside Core, not a file in your data directory. Do not look for it there and do not edit it | Rotation and file naming. Log levels are set in mango.properties, via logger.mango.level, logger.root.level and logger.script.level — the only three scopes there are. Point log4j2.configurationFile at your own file if you need more |
env.properties | The legacy name for mango.properties, still searched at startup | Only one configuration file is ever loaded. Mango takes the first that exists from $MA_ENV_PROPERTIES, <data>/mango.properties, <data>/env.properties, ~/mango.properties, then two legacy paths under the install directory. If both files sit in your data directory, env.properties is silently ignored |
Most changes to these files require a Mango restart — web.port, the ssl.* listener, the db.* settings and logging all do. The exception is system settings. Mango watches the configuration file and hot-reloads it, and any systemSettings.<key> override takes effect on save, with "Mango properties file reloaded" in ma.log. That watcher is on unless properties.reloading=false.
Pre-Production Settings Checklist
- ☐ SMTP email configured and tested
- ☐ Database chosen on capability. H2 is the shipped default and nothing in Mango disqualifies it from production; move to MySQL or PostgreSQL if you need access to the database from outside Mango while it runs, replication, or backup and restore that do not depend on Mango (see How to Choose and Configure Your Mango Database (MySQL, PostgreSQL, MariaDB))
- ☐ SQL and NoSQL backups running. Both ship enabled, so check each one's Last run and test a restore
- ☐ Purge periods set for your storage capacity
- ☐ Session timeout configured
- ☐ A trusted TLS certificate installed under Public key infrastructure, or TLS terminated at a reverse proxy (the listener itself is already on)
- ☐
web.portand TLS confirmed inmango.properties(not System settings) - ☐ Host time zone correct. There is no system time zone setting in Mango; each user can set their own Time zone
- ☐ JVM memory configured for your deployment size
Summary
System settings are the foundation of a well-configured Mango deployment. Review each settings group before going to production. Key priorities: configure email delivery, set up a production database with backups, set appropriate purge periods, and put a trusted TLS certificate in front of the listener that is already running. Use the pre-production checklist to ensure nothing is missed.