Documentation > Professional+ > Container Engine
⭐ PRO+

Container Engine Module

Lightweight container lifecycle management for WSL and LXD instances, including creation, start/stop/restart/delete, distribution management, and real-time monitoring.

Overview

The Container Engine module provides unified management of lightweight containers across WSL (Windows) and LXD (Linux) platforms. Detect host capabilities, provision new instances with automatic agent installation, manage their complete lifecycle, and administer WSL distributions.

🔎
Detect Capabilities
Identify available virtualization technologies
📦
Create Instances
Provision containers with agent
Manage Lifecycle
Start, stop, restart, delete instances

Open Source vs Professional+

The open-source Community Edition of SysManage includes read-only listing of child hosts (containers and VMs) that are detected by the agent. The Professional+ Container Engine module adds full lifecycle management capabilities:

  • Community Edition: Read-only child host listing and status display
  • Professional+: Create, start, stop, restart, and delete containers
  • Professional+: WSL distribution management (create, update, delete)
  • Professional+: Advanced container monitoring and statistics

Supported Container Types

The Container Engine supports lightweight container technologies on Windows and Linux:

🖥

WSL

Windows Subsystem for Linux - run Linux environments directly on Windows without traditional virtual machine overhead. Includes distribution management for installing, updating, and removing WSL distributions.

📦

LXD/LXC

Lightweight Linux containers providing near-native performance with OS-level virtualization and system container capabilities. Supports creation from public image servers with automatic agent installation.

Lifecycle Actions

Comprehensive lifecycle management operations for containers:

Create

Provision new containers with automatic configuration:

  • Operating system image selection and deployment
  • User account creation with SSH key authentication
  • Automatic SysManage agent installation and registration
  • Resource allocation (CPU, memory, disk)
  • Network configuration and connectivity

Start

Boot stopped containers, initializing all configured services and making them available for management and monitoring.

Stop

Gracefully shutdown running containers, ensuring all processes terminate cleanly and data is properly saved.

Restart

Perform a controlled stop followed by start operation, useful for applying configuration changes or recovering from issues.

Delete

Permanently remove containers and their associated storage, unregistering them from SysManage and freeing resources.

Distribution Management

For WSL hosts, the Container Engine provides distribution management to control which Linux distributions are available for creating new instances:

  • Create distributions: Register new WSL distributions with name, version, and type
  • Update distributions: Modify distribution name, version, or configuration
  • Delete distributions: Remove distributions that are no longer needed
  • Duplicate detection: Prevents creating distributions with the same name, version, and type

Container Monitoring

Real-time monitoring and statistics for managed containers:

Container Statistics

  • Count of running containers by type
  • Count of stopped containers by type
  • Total instance count across all container types
  • Per-host breakdown of container distribution

Resource Usage

  • Memory allocation and consumption per container
  • CPU usage and allocation tracking
  • Disk space usage and storage limits
  • Network traffic and connectivity status

Status Tracking

  • Real-time state monitoring (running, stopped, error)
  • Uptime tracking since last start
  • Agent connectivity and health status
  • Event history for lifecycle operations

API Access

The Container Engine is fully accessible via the REST API:

# Child Host Listing (Open Source - read-only)
GET    /api/host/{id}/children                      # List child hosts
GET    /api/host/{id}/children/{child_id}           # Get child host details

# Container Lifecycle Management (Professional+)
POST   /api/host/{id}/virtualization/create-child   # Create new container
POST   /api/host/{id}/children/{child_id}/start     # Start container
POST   /api/host/{id}/children/{child_id}/stop      # Stop container
POST   /api/host/{id}/children/{child_id}/restart   # Restart container
DELETE /api/host/{id}/children/{child_id}            # Delete container

# Distribution Management (Professional+ - WSL)
GET    /api/host/{id}/distributions                  # List distributions
POST   /api/host/{id}/distributions                  # Create distribution
PUT    /api/host/{id}/distributions/{dist_id}        # Update distribution
DELETE /api/host/{id}/distributions/{dist_id}         # Delete distribution

Using the Container Engine

To create and manage containers:

  1. Verify the host has WSL 2 (Windows) or LXD (Linux) installed
  2. Navigate to the host detail page in SysManage
  3. Click the "Child Hosts" tab
  4. Click "Create" to provision a new instance
  5. Select the container type and configure:
    • Instance name and description
    • Operating system image or distribution
    • Resource allocations (CPU, memory, disk)
    • User credentials for SSH access
  6. Click "Provision" to create the instance
  7. Monitor the creation progress and agent installation
  8. Use lifecycle actions (start/stop/restart/delete) as needed
# Example: Create LXD Container via API
{
  "name": "web-server-01",
  "type": "lxd",
  "image": "ubuntu:22.04",
  "resources": {
    "cpu": 2,
    "memory": "4GB",
    "disk": "20GB"
  },
  "user": {
    "username": "admin",
    "ssh_key": "ssh-rsa AAAAB3NzaC1..."
  },
  "install_agent": true
}

Requirements

  • Professional or Enterprise license with container_engine module enabled
  • WSL 2 (Windows) or LXD (Linux) installed on the host system
  • Sufficient permissions to create and manage containers
  • Network connectivity for license validation and agent communication
  • Adequate host resources (CPU, memory, disk) for containers
  • Access to OS images or distributions for the selected platform

Platform-Specific Notes

WSL (Windows)

Requires Windows 10 version 2004+ or Windows 11, with WSL 2 enabled. Distributions can be installed from the Microsoft Store or imported as custom images. Distribution management allows registering available distributions for new instance creation.

LXD/LXC (Linux)

Requires LXD installed via snap or native packages. Supports both system containers (full OS) and application containers. Images available from the public image server.

Future: Hardware Virtualization

Support for full hardware virtualization technologies (KVM/QEMU, Hyper-V, bhyve, VMM) is planned for a future Enterprise-tier module. This will provide management of complete virtual machines with hardware-assisted isolation.