Environment Variables
The following table lists all primary configuration options available for UDMG. Each option can be set either as an HCL argument in the Configuration File or overridden by an environment variable at runtime. When both are set, the environment variable takes precedence over the value in the Configuration File.
Use HCL arguments for persistent, auditable configuration. Reserve environment variables for temporary overrides or sensitive values such as passwords or keys (for example, in containerized deployments).
Setting Environment Variables
How you set an environment variable depends on how UDMG Server runs. Restart UDMG Server after changing any variable, because variables are read only at startup.
- Linux
- Windows (PowerShell)
A UDMG Server service started by systemd does not inherit variables exported in a shell, so they must be defined in the service configuration.
Complete the following steps to set an environment variable for the udmg-server service:
- Open a systemd drop-in file for the service:
sudo systemctl edit udmg-server
- Add a
[Service]section with oneEnvironmentline per variable, then save and close the editor:override.conf[Service]Environment="UDMG_API_LISTEN_PORT=18080" - Restart the service:
sudo systemctl restart udmg-server
To keep many or sensitive variables out of the unit configuration, list them one per line (NAME=value) in a file readable only by root, and reference the file in the drop-in with EnvironmentFile=<path-to-file>.
On Windows, define the variables for the udmg-server service with the Registry Multi-String value:
HKLM:\SYSTEM\CurrentControlSet\Services\udmg-server\Environment
The following PowerShell command sets two example variables for the service. Setting the value replaces any existing Environment value, so include every variable the service needs:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\udmg-server" -Name 'Environment' -Type MultiString -Value ('UDMG_API_LISTEN_PORT=18080', 'UDMG_LOG_LEVEL=debug')
To confirm the stored value, run the following PowerShell command:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\udmg-server" -Name 'Environment'
Restart the service for the change to take effect:
Restart-Service -Name "udmg-server"
Verifying an Override
To confirm that an override took effect, compare the effective behavior with the value in the Configuration File. For example, if api.port is 8080 in the Configuration File and UDMG_API_LISTEN_PORT=18080 is set, UDMG Server listens on port 18080 instead of 8080 after the restart.
- Linux
- Windows (PowerShell)
sudo ss -tlnp | grep udmg-server
Get-NetTCPConnection -State Listen -OwningProcess (Get-Process -Name "udmg-server").Id
Environment Variable Reference
All HCL arguments described on this page use dot notation to reference their full path from the root of the configuration file.
| Environment Variable Name | HCL Argument Name |
|---|---|
UDMG_DATABASE_AUTO_MIGRATE | auto_migrate |
UDMG_INSTANCE_NAME | instance_name |
UDMG_WORK_DIRECTORY_PATH | work_directory_path |
UDMG_ADMIN_APP_ENABLE | admin_app.enable |
UDMG_API_CORS_ENABLE | api.cors |
UDMG_API_CORS_DOMAIN | api.cors_domain |
UDMG_API_CSRF_ENABLE | api.csrf |
UDMG_API_LISTEN_INET | api.inet |
UDMG_API_LOG_LEVEL | api.log_level |
UDMG_API_LISTEN_PORT | api.port |
UDMG_API_RATE_LIMIT | api.rate_limit |
UDMG_API_SECURE | api.secure.enable |
UDMG_API_PRIV_KEY | api.secure.priv_key |
UDMG_API_PUB_KEY | api.secure.pub_key |
UDMG_API_SPEC_ENABLE | api.spec |
UDMG_API_TRUSTED_DOMAINS | api.trusted_domains |
UDMG_API_VERBOSE | api.verbose |
UDMG_AS2_ENABLE | as2.enable |
UDMG_AS2_MESSAGE_ID_EXPIRY | as2.message_id_expiry |
UDMG_AS2_REPLAY_PROTECT | as2.replay_protect |
UDMG_CLUSTER_CLIENT_PORT | cluster.client_port |
UDMG_CLUSTER_CLUSTER_PORT | cluster.cluster_port |
UDMG_CLUSTER_DEADLINE | cluster.deadline |
UDMG_CLUSTER_HEARTBEAT | cluster.heartbeat |
UDMG_CLUSTER_MODE | cluster.mode |
UDMG_CLUSTER_NODE_SEEDS | cluster.seeds |
UDMG_DATABASE_DSN | database.dsn |
UDMG_DATABASE_ENGINE | database.engine |
UDMG_DATABASE_HOSTNAME | database.hostname |
UDMG_DATABASE_LOG_LEVEL | database.log_level |
UDMG_DATABASE_NAME | database.name |
UDMG_DATABASE_IDLE_CONNECTIONS | database.options.idle_connections |
UDMG_DATABASE_INITIAL_INTERVAL | database.options.initial_interval |
UDMG_DATABASE_MAX_CONNECTIONS | database.options.max_connections |
UDMG_DATABASE_MAX_INTERVAL | database.options.max_interval |
UDMG_DATABASE_MAX_RETRIES | database.options.max_retries |
UDMG_DATABASE_PASSWORD | database.password |
UDMG_DATABASE_PORT | database.port |
UDMG_DATABASE_SECURE_ENABLE | database.secure.enable |
UDMG_DATABASE_SECURE_MODE | database.secure.mode |
UDMG_DATABASE_PRIV_KEY | database.secure.priv_key |
UDMG_DATABASE_PUB_KEY | database.secure.pub_key |
UDMG_DATABASE_TLS_SERVER_CERT_DN | database.secure.tls_server_cert_dn |
UDMG_DATABASE_WALLET_LOCATION | database.secure.wallet_location |
UDMG_DATABASE_USER | database.user |
UDMG_HOOK_SERVER_ENABLE | hook_server.enable |
UDMG_HOOK_SERVER_ENABLE_MDN | hook_server.enable_mdn |
UDMG_HOOK_SERVER_INET | hook_server.inet |
UDMG_HOOK_SERVER_LOG_LEVEL | hook_server.log_level |
UDMG_HOOK_SERVER_PORT | hook_server.port |
UDMG_HOOK_SERVER_SECURE_ENABLE | hook_server.secure.enable |
UDMG_HOOK_SERVER_PRIV_KEY_PATH | hook_server.secure.priv_key |
UDMG_HOOK_SERVER_PUB_KEY_PATH | hook_server.secure.pub_key |
UDMG_HOOK_SERVER_SPEC | hook_server.spec |
UDMG_ICAP_RETRY | icap.retry |
UDMG_ICAP_TIMEOUT | icap.timeout |
UDMG_JWT_ACCESS_TOKEN_DURATION | jwt.access_token.duration |
UDMG_JWT_REFRESH_TOKEN_DURATION | jwt.refresh_token.duration |
UDMG_JWT_SIGNING_KEY | jwt.signing_key |
UDMG_LDAP_ACCOUNT_SYNC_INTERVAL | ldap.ldap_account_sync_interval |
UDMG_LDAP_USER_SYNC_INTERVAL | ldap.ldap_user_sync_interval |
UDMG_LOG_FILE | log.file |
UDMG_LOG_FORMAT | log.format |
UDMG_LOG_LEVEL | log.level |
UDMG_LOG_ROTATE | log.rotate.enable |
UDMG_LOG_ROTATE_FORMAT | log.rotate.file_format |
UDMG_LOG_ROTATE_FREQUENCY | log.rotate.frequency |
UDMG_LOG_ROTATE_SIZE | log.rotate.size |
UDMG_OBSERVABILITY_DEBUG_ENABLE | observability.api.debug.enable |
UDMG_OBSERVABILITY_DEBUG_PASSWORD | observability.api.debug.password |
UDMG_OBSERVABILITY_DEBUG_USER | observability.api.debug.user |
UDMG_OBSERVABILITY_API_ENABLE | observability.api.enable |
UDMG_OBSERVABILITY_API_LISTEN_INET | observability.api.inet |
UDMG_OBSERVABILITY_API_LOG_LEVEL | observability.api.log_level |
UDMG_OBSERVABILITY_API_LISTEN_PORT | observability.api.port |
UDMG_OBSERVABILITY_API_RATE_LIMIT | observability.api.rate_limit |
UDMG_OBSERVABILITY_API_SECURE | observability.api.secure.enable |
UDMG_OBSERVABILITY_API_SECURE_PRIV_KEY | observability.api.secure.priv_key |
UDMG_OBSERVABILITY_API_SECURE_PUB_KEY | observability.api.secure.pub_key |
UDMG_OBSERVABILITY_API_SPEC | observability.api.spec |
UDMG_OPENTELEMETRY_ENABLE | observability.opentelemetry.enable |
UDMG_OPENTELEMETRY_HOST | observability.opentelemetry.host |
UDMG_OPENTELEMETRY_PORT | observability.opentelemetry.port |
UDMG_PROMETHEUS_ENABLE | observability.prometheus.enable |
UDMG_PROTOCOL_AUTH_TIMEOUT | protocol.auth_timeout |
UDMG_PROTOCOL_MAX_CONNECTIONS | protocol.max_connections |
UDMG_PROTOCOL_SESSION_IDLE_TIMEOUT | protocol.session_idle_timeout |
UDMG_SECURITY_DIRECTORY_PERMISSIONS | security.directory_permissions |
UDMG_SECURITY_DOMAIN_CHROOT | security.domain_chroot |
UDMG_SECURITY_FILE_PERMISSIONS | security.file_permissions |
UDMG_SECURITY_IGNORE_SYSTEM_USER_IP_FILTER | security.ignore_system_user_ip_filter |
UDMG_SECURITY_PASSPHRASE_KEY | security.passphrase_key |
Deprecated since UDMG 3.3.0. For the current Password Policy configuration, see Password Policy. | security.password.min_length (deprecated) |
Deprecated since UDMG 3.3.0. For the current Password Policy configuration, see Password Policy. | security.password.min_lower_case (deprecated) |
Deprecated since UDMG 3.3.0. For the current Password Policy configuration, see Password Policy. | security.password.min_numbers (deprecated) |
Deprecated since UDMG 3.3.0. For the current Password Policy configuration, see Password Policy. | security.password.min_symbols (deprecated) |
Deprecated since UDMG 3.3.0. For the current Password Policy configuration, see Password Policy. | security.password.min_upper_case (deprecated) |
UDMG_SECURITY_WORK_DIRECTORY_KEY_DISPLAY | security.work_directory_key_display |
| n/a | tls.allow_protocol_override.ftp |
| n/a | tls.cipher_suites |
| n/a | tls.curve_preferences |
| n/a | tls.max_version |
| n/a | tls.min_version |
UDMG_TRANSFER_CHECK_INTERVAL | transfer.check_interval |
UDMG_TRANSFER_MAX_RETRIES | transfer.max_retries |
UDMG_TRANSFER_MAX_RETRY_DELAY | transfer.max_retry_delay |
UDMG_TRANSFER_RETRY_BACKOFF | transfer.retry_backoff |
UDMG_TRANSFER_RETRY_DELAY | transfer.retry_delay |
UDMG_UAC_REST_ENABLE | uac.enable |
UDMG_UAC_REST_EVENT_NAME | uac.event_name |
UDMG_UAC_REST_EVENT_TTL | uac.event_ttl |
UDMG_UAC_OVERRIDE_PUBLISH_EVENT | uac.override_publish_event |
UDMG_UAC_REST_PASSWORD | uac.password |
UDMG_UAC_REST_URLS | uac.urls |
UDMG_UAC_REST_USERNAME | uac.username |
UDMG_WTC_DEFAULT_DOMAIN | wtc.default_domain |
UDMG_WTC_ENABLE | wtc.enable |
UDMG_WTC_LISTEN_INET | wtc.inet |
UDMG_WTC_LOG_LEVEL | wtc.log_level |
UDMG_WTC_MAX_PUBLIC_CONNECTIONS | wtc.max_public_connections |
UDMG_WTC_LISTEN_PORT | wtc.port |
UDMG_WTC_SECURE_ENABLE | wtc.secure.enable |
UDMG_WTC_PRIV_KEY | wtc.secure.priv_key |
UDMG_WTC_API_PUB_KEY | wtc.secure.pub_key |
UDMG_WTC_SPEC_ENABLE | wtc.spec |