Skip to content

Quick Start

  1. 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.

    [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
  2. Configure License Server Detail environment

    Section titled “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
  3. 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