Note
Available in Enterprise edition.

Admin Configuration

Some powerful settings can only be configured from the server itself as they will change infrequently and should only be changed with caution as security settings for example could lock all users out.

The lookup evaluates in the order of:

  1. YAML config file
  2. Environment variable
  3. System property
  4. Default
In reality you will likely choose one of these methods to specify all of your settings.
Any non-null in the first three will result in the placeholder being filled. This allows a blank value in an environment variable to supersede a non-blank in a system property.

Settings

YAML Name ENV variable Default Description
SERVER_HOST 0.0.0.0 The host that the web server will bind to. localhost means only allow local connections.
SERVER_PORT 8080 The port that the web server will run on
demo DEMO true whether Pulse should run in demo mode. In demo mode users are automatically logged in using the default admin:pass details.
demo_rundb DEMO_RUNDB true whether Pulse should run a bundled database called DEMODB. Required to view builtin demos or run demo panels.
license_text LICENSE_TEXT Your user license for pulse that controls how many users are permitted to use Pulse.
master_api_key MASTER_API_KEY Hardcoded API key that can be used to make admin API calls from CURL etc.
auth_url AUTH_URL HTTP Endpoint for Authentication. See Custom Security
auth_proxy_enabled AUTH_PROXY_ENABLED false If true, HTTP headers can be used to pass username logins.
username_header_name USERNAME_HEADER_NAME X-WEBAUTH-USER The HTTP header that contains the username.

SMTP Settings

YAML Name ENV variable Default Description
smtp_enabled SMTP_ENABLED FALSE Whether to enable SMTP.
smtp_starttls SMTP_STARTTLS TRUE Whether to enable starttks.
smtp_host SMTP_HOST The hostname of SMTP server. e.g. smtp.gmail.com
smtp_port SMTP_PORT The port of the SMTP server. e.g. 25
smtp_user SMTP_USER Username.
smtp_password SMTP_PASSWORD Password.
smtp_from_address SMTP_FROM_ADDRESS From email address. e.g. admin@domain.com
smtp_from_name SMTP_FROM_NAME From name e.g. PulseAdmin

AI Settings

Configure the AI provider used by the notebook AI editor.

YAML Name ENV variable Default Description
ai_provider AI_PROVIDER OpenAI AI provider, one of: OpenAI, Claude, Custom.
ai_api_key AI_API_KEY API key for the chosen provider.
ai_model AI_MODEL Model name. Blank uses the provider's default (e.g. claude-sonnet-4-20250514 for Claude).
ai_base_url AI_BASE_URL Override the provider base URL. Mainly for Custom / self-hosted OpenAI-compatible endpoints.

kdb+ Connection Settings

Deadlines and backoff for kdb+ connections. These stop one busy or hung kdb+ process from holding a dashboard, or the server, indefinitely. Each applies to every kdb+ connection; 0 disables it. Streaming subscriptions (.kdb.sub) are exempt from the query timeout.

YAML Name ENV variable Default Description
kdb_connect_timeout_ms KDB_CONNECT_TIMEOUT_MS 10000 Milliseconds allowed for the TCP connect, TLS handshake and IPC login reply. A kdb+ process that accepts the socket but never answers the login (busy, or in debug mode) fails here instead of hanging.
kdb_query_timeout_ms KDB_QUERY_TIMEOUT_MS 120000 Milliseconds to wait for a query response. On expiry the connection is closed and never reused, the panel shows the timeout naming the server, and the query is not retried on a new connection. Set above the longest legitimate query: an abandoned query keeps running inside kdb+.
kdb_timeout_backoff_ms KDB_TIMEOUT_BACKOFF_MS 30000 After a query timeout, every query to that server is refused for this long and its panels show Skipping <server> for <n>s after a timeout, so a hung source costs one deadline per window rather than one per refresh while the rest of the dashboard keeps updating. Trips on any query that reaches the deadline, including a legitimately slow one.
kdb_always_close_conn_after_use KDB_ALWAYS_CLOSE_CONN_AFTER_USE false Open a new kdb+ connection for every query and close it afterwards instead of pooling. Use when a gateway or load balancer closes idle handles itself, which otherwise surfaces as intermittent connection errors.

Example

The pulse-log.bat that comes with pulse in the .zip and .exe installer contains the following configuration:

Set Pulse License

To acquire a licenses either register for free or purchase a pro license to allow more users and enterprise features.

A license is a long sequence of characters, those characters should be defined as an environment variable. If you downloaded the zip or ran the installer, that includes a pulse-log.bat for windows and a pulse-log.sh for linux. You can edit those files to set the license like so: