Home Doh Ref
Dohballs
  • 📁 doh_chat
  • 📁 doh_modules
    • 📦 dataforge
    • 📦 express
    • 📁 sso
    • 📁 user

Server Manager Module

Purpose

The server_manager module provides a comprehensive, enterprise-grade interface for discovering, monitoring, and managing Doh web applications (sites) running on local server infrastructure. It serves as a centralized management hub for server administrators to oversee multiple Doh installations with advanced security controls and detailed operational insights.

Key Features

🔍 Advanced Site Discovery

  • Filesystem Scanning: Automatically discovers Doh sites by scanning configured directories
  • Self-Detection: Automatically includes the manager server itself in the site inventory
  • Real-time Status Monitoring: Continuous health checks with fingerprint verification
  • Duplicate Prevention: Intelligent handling of sites found in multiple scan locations

🔐 Enterprise Permission System

  • Role-Based Access Control: Granular permissions for different administrative roles
  • Contextual Authorization: Permission checks based on specific server instances and actions
  • Built-in Security Groups:
    • server_admin: Full administrative control over all server instances
    • server_operator: Operational control with limited administrative access
    • server_instance_manager: Contextual access to specific server instances
  • Hardware-Level Security: Designed for server hardware administration contexts

🎨 Modern Administrative Interface

  • Tabbed Detail View: Comprehensive information organized across multiple tabs:
    • Overview: Status dashboard with performance metrics and quick actions
    • Configuration: Complete pod and Express server configuration details
    • Cloud: Cloud connection status and management (when available)
    • Security: SSL configuration and security headers
    • Modules: Module information and management (coming soon)
    • Logs: Server log access (coming soon)
  • Resizable Sidebar: Adjustable interface layout for optimal workflow
  • Advanced Search: Real-time filtering across site names, paths, and configurations
  • State Persistence: Remembers selected sites and tabs across sessions

☁️ Cloud Integration

  • Cloud Status Monitoring: Real-time connection status for cloud-enabled sites
  • Fingerprint Management: Tracks both build and cloud fingerprints for site identity
  • Cloud Connect Integration: Direct access to cloud connection and management interfaces
  • Multi-Cloud Support: Compatible with various cloud deployment configurations

📊 Performance Monitoring

  • Real-time Metrics: CPU usage, memory consumption, and process information
  • System Statistics: Module counts, last update timestamps, and operational data
  • Health Indicators: Visual status indicators with detailed error reporting
  • Process Tracking: PID monitoring and system resource usage

Dependencies

Required Modules

  • Core Doh Infrastructure: express_router, fs, path, yaml, user_host
  • UI Components: html pattern, CSS framework, Font Awesome icons
  • Permission System: Doh's built-in permission framework

Recommended Modules

  • managed_site: Required on target sites for comprehensive status checking and cloud integration
  • Cloud Modules: For full cloud management capabilities

Configuration

Basic Configuration

Doh.Pod('server_manager', {
  server_manager: {
    // Required: Directories to scan for Doh sites
    scan: [
      '../',                    // Scan sibling directories
      '/srv/doh_sites',        // Shared sites directory
      '/var/www/doh_apps'      // Additional deployment location
    ],
    
    // Security settings
    permission_checks_enabled: true,
    default_admin_groups: ['server_admin']
  }
});

Advanced Configuration Options

  • scan (Array, Required): Filesystem paths to scan for Doh installations
  • permission_checks_enabled (Boolean): Enable/disable permission verification
  • default_admin_groups (Array): Default groups with administrative access

Permission System Setup

The module automatically defines the following permission contexts and groups:

Permission Contexts

  • server_instance: Validates server instance objects for administration
  • server_dashboard: Controls access to the management dashboard

Permission Groups

  • server_admin: Assignable group with full control (*:server_instance, *:server_dashboard)
  • server_operator: Operational control with dashboard access and limited instance management
  • server_instance_manager: Dynamic group providing contextual server access

Permission Actions

  • read:server_instance: View server instance information
  • update:server_instance: Manage server settings and files
  • delete:server_instance: Remove/disconnect server instances
  • command:server_instance: Send commands to server instances
  • restart:server_instance: Restart server instances
  • read:server_dashboard: Access the management dashboard
  • admin:server_dashboard: Full administrative dashboard access

API Endpoints

/api/server_manager/sites

  • Method: GET
  • Authentication: Required
  • Permissions: read:server_dashboard
  • Returns: Complete site inventory with status and configuration data

/admin/server_manager

  • Method: GET
  • Authentication: Required
  • Permissions: read:server_dashboard
  • Returns: Administrative interface HTML

Site Detection Requirements

For optimal functionality, target sites should include:

  1. .doh/compiled.pod.yaml: Required for site detection
  2. managed_site module: Required for status checking and cloud features
  3. Proper express_config: For accurate URL generation
  4. Unique fingerprints: For reliable site identification

Security Model

The Server Manager operates with privileged filesystem access to scan and read configuration files from sibling Doh installations. This design requires robust security controls:

  • Role-Based Access: Access is determined by user roles rather than site ownership
  • Contextual Permissions: Fine-grained authorization based on specific server instances
  • Hardware Administration Focus: Designed for server infrastructure management
  • Fingerprint Verification: Ensures communication with correct site instances

Usage

Accessing the Interface

Navigate to /admin/server_manager on the Doh site where the module is installed.

User Workflow

  1. Site Selection: Browse discovered sites in the expandable directory tree
  2. Status Overview: View real-time status, performance metrics, and quick actions
  3. Configuration Review: Examine detailed pod and server configurations
  4. Cloud Management: Monitor and manage cloud connections (if available)
  5. Security Audit: Review SSL settings and security configurations
  6. Direct Access: Launch sites or admin panels with one-click access

Administrative Tasks

  • Site Monitoring: Track operational status across multiple deployments
  • Configuration Management: Review and compare site configurations
  • Cloud Operations: Manage cloud connections and monitor status
  • Security Auditing: Verify SSL configurations and security settings
  • Performance Monitoring: Track resource usage and system health

Advanced Features

Fingerprint Verification

The system uses two types of fingerprints for site identification:

  • Build Fingerprint: Changes with each deployment/update
  • Cloud Fingerprint: Persistent identifier for cloud-connected sites

State Management

  • Session Persistence: Remembers selected sites and active tabs
  • Auto-refresh: Real-time updates with manual refresh capability
  • Responsive Layout: Adapts to different screen sizes and preferences

Cloud Integration

  • Connection Monitoring: Real-time cloud connection status
  • Multi-Cloud Support: Compatible with various cloud providers
  • Direct Management: One-click access to cloud management interfaces

Troubleshooting

Common Issues

  1. Sites Not Detected: Verify .doh/compiled.pod.yaml exists and scan paths are correct
  2. Status Offline: Ensure target sites have managed_site module installed
  3. Permission Denied: Check user groups and permission assignments
  4. Cloud Status Missing: Verify managed_site module is properly configured

Performance Optimization

  • Configure scan paths to minimize filesystem operations
  • Use specific directory paths rather than broad filesystem scans
  • Regular cleanup of old site data and cached information

Migration from Previous Versions

If upgrading from an earlier version:

  1. Review and update pod configuration with new options
  2. Assign appropriate permission groups to existing users
  3. Verify managed_site module installation on target sites
  4. Test permission system functionality with different user roles
Last updated: 2/9/2026