LXD¶
In this article
Note
LXD is a modern open-source system management tool for system containers and virtual machines, developed by Canonical (the creators of Ubuntu).
LXD. Core Features¶
- System containers versus application containers - Unlike Docker, which focuses on delivering individual applications, LXD manages full systems — LXD containers contain a complete Linux operating system with all its components (init, system services, etc.)
- Built on top of LXC - LXD is a high‑level overlay on the LXC library (Linux Containers), providing a convenient command‑line interface, powerful REST API, and simplified management. If LXC is a low‑level tool, LXD is a “super‑manager” for containers.
- Unified interface for containers and VMs - Modern LXD versions (starting with 4.0+) support managing both system containers and full virtual machines through a single interface.
- Flexible resource limits (CPU, memory, network, disk)
- Advanced snapshot support with scheduling
- Container migration between hosts
- Cluster and distributed management support
Deployment Features¶
| ID | Name of Software | Compatible OS | VM | BM | VGPU | GPU | Min CPU (Cores) | Min RAM (Gb) | Min HDD/SDD (Gb) | Active |
|---|---|---|---|---|---|---|---|---|---|---|
| 509 | LXD | Ubuntu 22.04 | + | + | + | - | 2 | 4 | 20 | ORDER |
- Installation possible on Ubuntu 20/22;
- Installation time 15‑20 minutes including OS;
For proper operation of LXD, the following minimum system resources are required:
- Processor: at least 1 CPU core;
- Memory: at least 2 GB RAM;
- Disk space: recommended at least 20 GB SSD/HDD:
Note
Unless otherwise specified, we install the latest release version of the software from the developer’s website or the operating system’s repositories by default.
Getting Started after Deploying LXD¶
After paying for the order, a notification will be sent to the email address provided during registration indicating that the server is ready. It will contain the VPS IP address, as well as the login and password for access.
Hardware management for our clients is performed via the server control panel and API — Invapi.
Authorization data can be found either in the Info >> Tags tab of the server control panel or in the email sent to you:
-
Link to the LXD control panel web interface: in the tag webpanel;
-
To authorize in the web interface, go to a link like -
https://lxd<ID_server>.hostkey.in

-
In the opened window, first you need to click the
Generate certificatebutton to generate an individual certificate and ensure proper operation. -
You can generate a password‑protected or unprotected certificate (for macOS, password protection is mandatory)

Enable password protection and click the Generate and download button.
-
Next, follow the instructions in the main window. Add the certificate to your browser settings and restart it.
-
The next step is to generate a trust token

- Connect to the server via SSH using the credentials from the email.
- Run the command
- Copy the command output into the Paste the trust token below field

- Click the
Connectbutton
You will be redirected to the main screen and can start working with LXD.
Main elements of the LXD panel menu¶
Instances¶
The menu is used to manage containers and virtual machines — creating, starting, restarting, and stopping instances.
Detailed instructions for creating an instance can be found in the developer documentation, provided in this menu upon first access.

Profiles¶
The menu is used to store a set of configuration options. This allows applying profiles to instances instead of manually configuring each parameter. Each profile contains instance options, device options, and device parameters.

Networking¶
The menu is used to manage network bridges and interfaces, allowing configuration of DHCP and DNS for networks. The submenu Network ACL is used to manage access control lists for networks.

Storage¶
The menu is used to manage the storage system for container and VM data. It is divided into subcategories: - Pools – you can create new pools (based on ZFS, Btrfs, LVM, dir, etc.), configure their parameters, and view space usage. - Volumes – manage volumes (root and custom). - Custom ISOs – used for storing custom images. - Bucket – S3-compatible object storage for storing files.
Images¶
The menu allows managing base images for creating instances, with support for caching images from remote repositories (local:, images:, ubuntu:).
Configuration¶
The menu allows configuring the LXD server at the host level, managing certificates and resource limits.

Server¶
This menu displays information about system hardware (CPU, GPU, memory, ports) and server status, as well as cluster information (if clustering is present).

Operations¶
The menu is used to track current operations. Any operation that may take more than one second (creating a container, migration, creating a snapshot, backup) is performed in the background. LXD immediately returns the operation ID to the client, while the task continues to run on the server.
Warnings¶
The menu displays system warnings and errors, enabling continuous monitoring of the LXD server status.

Permissions¶
The menu is for managing permissions. It allows creating user and process groups for assigning rights and permissions. Also, this section handles management.
Settings¶
The menu is used to manage global server parameters and the configuration of the web interface itself. It is divided into several subcategories (acme, core, cluster, etc.).

Note
- The section is not intended for configuring individual containers or VMs — for that, use the corresponding sections when editing an instance.
- All changes made through the web interface are equivalent to
lxc config setcommands in the CLI.
Note
Additional information about LXD capabilities can be found in the official LXD documentation.
Order LXD with API¶
To install this software using the API, follow these instructions.