Skip to content

Configuration reference

This page describes every field of the Drovio Server configuration file (settings.conf, JSON format). See Configure Drovio Server for the file location on your platform and how to apply changes.

Changes are applied live, with two exceptions

The configuration file is watched: a change takes effect within a few seconds, without restarting the service. Two families are read at startup only and need a restart: plugin_management, and the fields that define the HTTP listener, namely tls, http_port and https_port. On Linux, keystore and keystore_password are reapplied without a restart when the server receives SIGUSR2. See Enable HTTPS.

plugin_management

Field Type Comment
plugins Array List of plugins (e.g. the Slack integration).
plugins[].classpath String JAR plugin path.
plugins[].path String Package, e.g. com.drovio.server.slack.
plugins[].ext String Always java.
plugins[].base_address String Depends on the plugin, e.g. drovio.server.slack.

http

Field Type Comment
url String Replace with the machine hostname or IP (required for transactional emails and invites).
num_instances Number Number of HTTP listeners. Should be 0 (auto) or match the available CPU cores on the machine.
session_timeout Number Session lifetime in ms (session expires when there's no activity from the user).
tls Boolean Enable HTTPS. See Enable HTTPS.
tls_protocols Array String array, e.g. ["TLSv1.2", "TLSv1.3"]. When no value is specified, TLSv1.2 and TLSv1.3 are enabled by default.
tls_cipher_suites Array String array, e.g. ["TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", …].
keystore String Certificate used when TLS is enabled, packed as a JKS. Reloaded on SIGUSR2 (Linux). See Enable HTTPS.
keystore_password String JKS password. Reloaded on SIGUSR2 (Linux). See Enable HTTPS.
http_port Number Set to 80 (default: 8090).
https_port Number Set to 443 (default: 8090); requires TLS to be enabled.
admin_ip_whitelist Array (Strings) List of IPs allowed to access /admin, optionally with masks (e.g. "192.168.1.10", "172.42.13.0/24").
url_share_your_screen String URL leading to where users can download the app (shown in various emails).
url_support String URL for support purposes.
xsrf_enabled Boolean Enable cross-site request forgery protection (default: true).
deny_xframe Boolean Disable the ability to display the client in a frame (default: true).
drain_delay Number The server closes all WebSocket connections within this delay (in seconds) when receiving a SIGUSR1 signal (default: 180).
drain_period Number The server closes WebSocket connections every period (in seconds) when receiving a SIGUSR1 signal (default: 10).
prevent_indexing Boolean Prevent the server resources from being indexed by bot crawlers (such as Google).
jwt_expiration_delay Number Expiration delay (in seconds) of the JWT used for authentication when using the meeting API.
jwt_secret String Secret of the JWT used for authentication when using the meeting API.
websocket_allowed_origins String Regular expression matching the origins allowed to open a WebSocket connection. Empty by default, which installs no CORS handler.

http → session_store

Field Type Comment
type String Type of store used to manage sessions. Either default (in memory) or redis (default: default).

session_store → on_change

Field Type Comment
transfer_sessions Boolean When changing the store during runtime, if true, all existing sessions are inserted into the new sessions store (default: false).
clear_old_store Boolean When changing the store during runtime, if true, clear all sessions from the old sessions store (default: false).
close_delay Number Delay in ms before stopping the old sessions store after the new store is set up. Avoids interrupting pending queries to the old store (default: 5000).

session_store → redis

Field Type Comment
connections Array (Strings) List of connection strings to redis servers. Addresses follow redis://[:password@]host[:port][/db-number] (e.g. "redis://127.0.0.1:7001"). rediss is also possible.
master String Name of the master (default: master).
max_pool_size Number Max number of connections in the pool (default: 6).
max_pool_waiting Number Max waiting handlers to get a connection in a queue (default: 24).
type String Type of client: standalone, sentinel, cluster or replication (default: standalone).
role String Role in HA mode: master, replica or sentinel. No value set by default.
password String Password for cluster / sentinel mode.
pool_cleaner_interval Number Period of the task that closes connections with an invalid state. -1 means the task is never executed (default: -1).
pool_recycle_timeout Number Timeout (in ms) after which a connection is recycled (default: 15000).
redis → tls

Only used when the connection strings use the rediss scheme.

Field Type Comment
verify_hostname Boolean Check that the certificate matches the host being connected to.
trust_all Boolean Accept any certificate. Leave to false outside of testing.
ca_certificate_path String Path to the CA certificate used to validate the Redis certificate.

database

Field Type Comment
host String Database hostname.
port Number Database port.
database String Database name.
user String Database user.
password String Automatically generated when you deploy a package.
ssl_mode String TLS policy for the connection, following PostgreSQL semantics: disable, allow, prefer, require, verify-ca or verify-full (default: prefer).

database → pool_options → main

Field Type Comment
max_size Number Number of simultaneous connections; set to your actual DB capacity (default: 30) in conjunction with licensing max size.
connect_timeout Number Connection timeout (in seconds); adapt to your DB capacity (default: 30).
idle_timeout Number Timeout (in seconds) after which an idle connection can be closed to release server resources (default: 600).

database → pool_options → licensing

Field Type Comment
max_size Number Number of simultaneous connections; set to your actual DB capacity (default: 30) in conjunction with main max size.
connect_timeout Number Connection timeout (in seconds); adapt to your DB capacity (default: 30).
idle_timeout Number Timeout (in seconds) after which an idle connection can be closed (default: 600).

database → replicas

Read replica connection settings. Fields port, database, user, password and ssl_mode mirror the primary database section, and the nested pool_options → main / pool_options → licensing behave exactly like the primary pool options above but apply to the replica instance.

maintenance

Field Type Comment
enabled Boolean Should not be modified here; use the admin panel to enable maintenance mode.
message String Maintenance message. Should not be modified here; use the admin panel.

webrtc

Field Type Comment
turn_servers_secret String If TURN server(s) are used, the shared secret token.
turn_servers_auth_timeout Number If TURN servers are used, timeout for automatically generated credentials.
ice_servers Array List of STUN / TURN servers used (default: Google STUN server and no TURN server).
ice_servers[].url String STUN or TURN URL, e.g. stun:192.168.1.23:443, turn:192.168.1.23?transport=tcp.
service_quality Object Bitrate range used for audio / video.
service_quality.minimum Number Minimum bitrate in kbps.
service_quality.maximum Number Maximum bitrate in kbps.

See Relay server (TURN) for a full walkthrough.

smtp

Field Type Comment
enabled Boolean Enable email notifications.
hostname String e.g. smtp.example.com.
port Number 25, 465, 587
start_tls String disabled, optional or required.
ssl Boolean true or false.
login String none, disabled or required.
username String If login is enabled, basically an email address.
password String SMTP password.
from String Format: Drovio <drovio@example.com>.
admin_email String Email address of the support team.
trust_all Boolean Bypass any TLS issues.
own_hostname String Set to your domain name, e.g. example.com.

email_templating

Field Type Comment
transport String Transport used to deliver templated emails (default: smtp, using the smtp section above).

users

Field Type Comment
add_all_contacts Boolean If true, when creating a user, add the user as a contact for all existing users.

users → remove_inactive

Field Type Comment
enabled Boolean Enable automatic user removal after some period of inactivity.
inactive_period Number Inactive period (in seconds) after which the user is automatically removed (default: 7776000, 90 days).

users → license_allocation

Field Type Comment
enabled Boolean Enable automatic license allocation (assigns licenses to users when they sign in or create an account).
mode String Either floating (when a user signs in) or new_user (when a user creates an account).
max_users Number Automatically assigns licenses that let users invite up to max_users other users in their session (set it to 1, 4 or 999, depending on the licenses you acquired).

license_allocation → low_count_notification

Field Type Comment
enabled Boolean Send an email to the support email defined above when the license pool is near exhaustion.
threshold Number Percentage of free licenses in the pool below which an email is sent.

users → auth → local

Field Type Comment
enabled Boolean Enable or disable classic authentication (email / password).
allow_signup Boolean Allow users to create their own accounts using the app.

users → auth → ldap

Field Type Comment
enabled Boolean Enable LDAP / AD.
url String Hostname for the LDAP / AD server: ldap://ldap.example.com or ldaps://ldap.example.com, with optional port (e.g. ldap://ldap.example.com:389).
service_account_dn String Account that can look up other accounts (e.g. cn=admin,dc=example,dc=com or Administrator@domain.com).
service_account_password String Service account password.
base String Organizational unit where user accounts are located (e.g. ou=users,dc=example,dc=com).
search_filter String Which field contains the user email. On LDAP use mail; on Active Directory use mail or userPrincipalName (default: (&(objectClass=*)(mail={0}))).
ca_certificate_path String Path to the CA certificate used to validate the server certificate when connecting over ldaps.

users → auth → saml

Field Type Comment
enabled Boolean Enable SAML (cannot be enabled if OpenID Connect is enabled).
keystore String JKS path, automatically generated when the file does not exist.
keystore_password String JKS store password.
private_key_password String JKS private key password.
idp_metadata_path String Identity Provider metadata XML file path.
sp_metadata_path String Where the Service Provider metadata are exported at every start. The server never reads this file back: the metadata are held in memory and served at /sso/metadata. Leave empty to skip the export. See SSO.
sp_entity_id String Service Provider Entity ID, generally the server URL (when not defined, the complete callback URL is used).
passive Boolean When the IdP doesn't require any user input.
force_auth Boolean Force users to authenticate with the IdP each time they sign in with the app.
use_name_qualifier Boolean Per the SAML spec the request must not contain a NameQualifier if the SP entity is in nameid-format:entity; however some IdPs require it.
wants_assertions_signed Boolean Sign assertions when they need to be processed separately from the response.
authn_request_signed Boolean Sign the authentication requests.
email_attribute String IdP attribute name to which emails should be mapped.
username_attribute String IdP attribute name to which usernames should be mapped.
accepted_skew Number SAML time skew (SAML 1.1).
max_auth_lifetime Number In seconds; should match your IdP's (e.g. 8 hours for ADFS, 14 days for Google).

See SSO: SAML & OIDC for the keystore and callback URLs.

users → auth → oidc

Field Type Comment
enabled Boolean Enable OpenID Connect (cannot be enabled if SAML is enabled).
client_id String OIDC Client ID.
secret String OIDC Secret.
discovery_uri String OIDC Discovery URI.
email_attribute String IdP attribute name to which emails should be mapped.
username_attribute String IdP attribute name to which usernames should be mapped.
custom_params Array Custom parameters.
custom_params[].key String e.g. prompt.
custom_params[].value String e.g. consent.

users → remove_unvalidated

Field Type Comment
enabled Boolean Whether to remove unvalidated accounts automatically.
time String Time when to launch this task (e.g. 05:00).
offset String UTC offset (e.g. +01:00).
remove_delay Number Delay (in days) after which unvalidated local accounts are removed. Disabled when negative (default: -1).
limit Number Maximum number of accounts to delete during each execution (default: 30).

users → auth

Field Type Comment
sso_auth_token_lifetime Number Lifetime of any generated SSO auth token (default: 10 minutes).

users → email_code

Single-use codes sent by email, used to confirm an address or to recover an account.

Field Type Comment
enabled Boolean Enable email codes (default: true).
ttl Number Lifetime of a code in seconds (default: 900, 15 minutes).
max_per_day Number Maximum number of codes sent to one email address per day, all purposes taken together. 0 or less disables the quota (default: 10).
alert_threshold_per_hour Number Number of codes sent per hour above which the administrator is alerted. 0 or less disables the alert (default: 500).

logging

Field Type Comment
severity String Logging verbosity: off, error, warning, info, debug or trace (default: info).
loggers.<key> String <key> can be any class or package. Overrides the logging verbosity for the specified class or package (same values as severity).

reporting

Field Type Comment
enabled Boolean Enable automatic usage report generation.
frequency String Usage report frequency: daily, weekly or monthly.
hour Number Usage report generation hour, used with all frequencies.
day_of_week Number Day of week for weekly reports; 1 = Sunday, 2 = Monday, and so on.
day_of_month Number Day of month for monthly reports (1-31); value 31 triggers a report on the last day of each month.
options Array (Strings) Event types to include: user_login, session_lifetime or swap_request.
anonymous Boolean Mask any PII data.
recipients Array (Strings) List of email addresses where reports are sent.
archive_name_pattern String Filename pattern for the report data archive, e.g. My_archive generates My_archive [2019-08-01 14.00.00 to 2019-08-02 14.00.00].

remote_desktop

Field Type Comment
enabled Boolean Enable the remote desktop feature.

app_update

Field Type Comment
base_url String Don't change the default value. Cloud-dedicated field.

anonymize

Field Type Comment
enabled Boolean Enable the daily process to anonymize data.
when String When the process runs: now (after the server starts) or an hour in HH:mm 24-hour format (e.g. 17:30).
offset String Time offset used to schedule the process (e.g. +02:00). Defaults to the server offset.
limit Number Maximum number of users to anonymize during one execution (default: 30).

monitoring

Field Type Comment
enabled Boolean Mount the monitoring routes under /api/monitoring (default: false).

meeting

Field Type Comment
url String URL to open to manage the meetings.
enabled Boolean Enable the meeting button.

calls

Field Type Comment
expiration_delay Number Delay (in seconds) after which a disconnected call attendee is considered as having left the call (default: 60).

calls → clean_task

Field Type Comment
enabled Boolean Enable the task that removes old call data (default: true).
frequency Number Frequency (in seconds) of the task that removes old call data (default: 1 day).