Installation
Installation Guide
Section titled “Installation Guide”This guide will walk you through installing both components of the License Management project. You can install them independently or together depending on your needs.
Prerequisites
Section titled “Prerequisites”System Requirements
Section titled “System Requirements”License Monitor (Rust Application)
Section titled “License Monitor (Rust Application)”- Operating System: Linux, Windows, or Unix
- Rust: Version 1.88+ and Cargo
- Python: Version 3.x (for command mode parsing scripts)
- Git: For cloning the repository (if building from source)
License Server Detail (Next.js Application)
Section titled “License Server Detail (Next.js Application)”- Node.js: Version 18+
- Package Manager: npm, yarn, or pnpm
- Okta Account: For authentication setup
Network Requirements
Section titled “Network Requirements”- License Monitor: Access to license servers and OpenTelemetry endpoint
- License Server Detail: Access to License Monitor API and Okta services
- Firewall: Ensure appropriate ports are open (default: 8080 for License Monitor, 3000 for License Server Detail)
License Monitor Installation
Section titled “License Monitor Installation”Option 1: Pre-built Binaries (Recommended)
Section titled “Option 1: Pre-built Binaries (Recommended)”Pre-built binaries are available for download from GitHub Releases for:
- Linux: x86_64, aarch64
- Windows: x86_64, aarch64
Download and Install
Section titled “Download and Install”# Download the latest release (replace with actual version)wget https://github.com/keithce/license_monitor/releases/latest/download/license_monitor-linux-x86_64.tar.gz
# Extract the archivetar -xzf license_monitor-linux-x86_64.tar.gz
# Make executablechmod +x license_monitor
# Move to system path (optional)sudo mv license_monitor /usr/local/bin/Option 2: Build from Source
Section titled “Option 2: Build from Source”Install Rust
Section titled “Install Rust”# Install Rust using rustupcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Reload your shellsource ~/.cargo/env
# Verify installationrustc --versioncargo --versionClone and Build
Section titled “Clone and Build”# Clone the repositorygit clone https://github.com/keithce/license_monitor.gitcd license_monitor
# Build the projectcargo build --release
# The executable will be in target/release/license_monitorVerify Installation
Section titled “Verify Installation”# Test the installation./target/release/license_monitor --helpLicense Server Detail Installation
Section titled “License Server Detail Installation”Install Node.js
Section titled “Install Node.js”# Using Node Version Manager (recommended)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bashsource ~/.bashrc
# Install and use Node.js 18+nvm install 18nvm use 18Clone and Install
Section titled “Clone and Install”# Clone the repositorygit clone https://github.com/keithce/license-server-detail.gitcd license-server-detail
# Install dependencies (using pnpm - recommended)npm install -g pnpmpnpm install
# Or using npmnpm installVerify Installation
Section titled “Verify Installation”# Test the installationpnpm dev# ornpm run devThe application should start on http://localhost:3000.
Initial Configuration
Section titled “Initial Configuration”License Monitor Configuration
Section titled “License Monitor Configuration”Create a basic configuration file:
# Create config directorymkdir -p ~/.config/license_monitor
# Create basic config.tomlcat > ~/.config/license_monitor/config.toml << EOF# Command mode configuration[command_mode]command = "lmstat -a"interval_seconds = 300 # 5 minutes
# API server configuration[api]enabled = truebind_address = "127.0.0.1"bind_port = 8080enable_websockets = true
# Daemon mode configuration[daemon]log_file = "logs/daemon.log"log_level = "info"EOFLicense Server Detail Configuration
Section titled “License Server Detail Configuration”Create environment configuration:
# Create .env.local filecat > .env.local << EOF# Public client variablesNEXT_PUBLIC_API_BASE_URL=http://localhost:8080NEXT_PUBLIC_API_TIMEOUT_MS=10000NEXT_PUBLIC_LOG_LEVEL=debug
# Server-side variables (replace with actual values)LICENSE_MONITOR_API_KEY=your-license-monitor-api-keyLICENSE_MONITOR_BASE_URL=http://localhost:8080AUTH_OKTA_ID=your-okta-client-idAUTH_OKTA_SECRET=your-okta-client-secretAUTH_OKTA_ISSUER=https://your-okta-domain.okta.com/oauth2/defaultAUTH_SECRET=replace-with-strong-random-stringNEXTAUTH_URL=http://localhost:3000EOFQuick Test
Section titled “Quick Test”Test License Monitor
Section titled “Test License Monitor”# Start License Monitor in API mode./license_monitor --mode api --api-host 0.0.0.0 --api-port 8080
# In another terminal, test the APIcurl http://localhost:8080/api/healthTest License Server Detail
Section titled “Test License Server Detail”# Start the development serverpnpm dev
# Open browser to http://localhost:3000Verification Checklist
Section titled “Verification Checklist”- License Monitor binary is executable and responds to
--help - License Monitor API starts successfully on port 8080
- License Server Detail builds and starts on port 3000
- Basic configuration files are created
- Environment variables are set (for License Server Detail)
- Network connectivity between components is working
Troubleshooting
Section titled “Troubleshooting”Common Issues
Section titled “Common Issues”License Monitor Won’t Start
Section titled “License Monitor Won’t Start”- Check permissions: Ensure the binary is executable
- Check ports: Verify port 8080 is available
- Check dependencies: Ensure Python 3.x is installed
License Server Detail Build Fails
Section titled “License Server Detail Build Fails”- Node.js version: Ensure you’re using Node.js 18+
- Dependencies: Try clearing node_modules and reinstalling
- Memory: Ensure sufficient memory for the build process
API Connection Issues
Section titled “API Connection Issues”- Network: Verify License Monitor is running and accessible
- Configuration: Check API base URL configuration
- Firewall: Ensure ports are open
Next Steps
Section titled “Next Steps”- Quick Start Guide: Get up and running quickly
- Configuration Guide: Detailed configuration options
- License Monitor Documentation: Complete License Monitor guide
- License Server Detail Documentation: Complete License Server Detail guide