Skip to content

Quick Start

Create config.toml on a monitored host:

[command_mode]
command = "lmstat -a"
interval_seconds = 300
parse_script = "parse.py"
[api]
enabled = true
bind_address = "127.0.0.1"
bind_port = 8080
allow_public_bind = false
[logs]
log_file = "logs/license-monitor.log"
log_level = "warn"

parse_script = "parse.py" should point to the parser script from your internal/private license-monitor deployment. If your deployment does not already include one at the runtime working path, create a parse.py there and update parse_script to match that file path. The parser should read raw license command output and emit normalized JSON that License Monitor can cache and serve through its API.

This default API configuration keeps license-monitor local-only (bind_address = "127.0.0.1" and allow_public_bind = false). Use this when license-server-detail is co-located on the same host.

If license-server-detail runs on a different host, use an external bind instead and secure access with firewall/VPN controls:

[api]
enabled = true
bind_address = "0.0.0.0"
bind_port = 8080
allow_public_bind = true

Run:

Terminal window
license-monitor --config ./config.toml --mode command

Step 2: Configure License Server Detail environment

Section titled “Step 2: Configure License Server Detail environment”

Set these minimum values in license-server-detail (for example .env.local):

Terminal window
NEXT_PUBLIC_CONVEX_URL=https://your-convex-deployment.convex.cloud
AUTH_OKTA_ID=your-okta-client-id
AUTH_OKTA_SECRET=your-okta-client-secret
AUTH_OKTA_ISSUER=https://your-org.okta.com/oauth2/default
AUTH_SECRET=replace-with-long-random-secret
NEXTAUTH_URL=http://localhost:3000

Then run:

Start these in separate terminals because both processes are long-running:

Terminal 1:

Terminal window
bun run convex:dev

Terminal 2:

Terminal window
bun run dev

Populate Convex with monitored servers. If you are migrating existing static data, add those records as Convex servers entries using Configuration: Convex server records.

Each server record should point to a reachable License Monitor host/port (default port 8080).

  1. Open http://localhost:3000
  2. Sign in via Okta
  3. Open the server list/dashboard
  4. Confirm health and license data are loading