Admin Configuration
- 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:
- YAML config file
- Environment variable
- System property
- Default
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: