# LXD > This is the documentation for LXD, a system container and virtual machine manager. 2014-2026 AGPL-3.0, LXD contributors ## Pages in this subsection - [How-to guides](https://canonical.com/lxd/docs/latest/howto/index.html.md): An index of how-to guides for installing, configuring, and managing LXD, including instances, storage, networks, clustering, and production deployments. - [How to initialize LXD](https://canonical.com/lxd/docs/latest/howto/initialize/index.html.md): Before you can create a LXD instance, you must configure and initialize LXD. - [How to access the LXD web UI](https://canonical.com/lxd/docs/latest/howto/access_ui/index.html.md): The LXD web UI is available as part of the LXD snap. - [How to access the local LXD documentation](https://canonical.com/lxd/docs/latest/howto/access_documentation/index.html.md): The latest version of the LXD documentation is available at `canonical.com/lxd/docs`. - [How to configure the LXD server](https://canonical.com/lxd/docs/latest/howto/server_configure/index.html.md): See Server configuration for all configuration options that are available for the LXD server. - [How to expose LXD to the network](https://canonical.com/lxd/docs/latest/howto/server_expose/index.html.md): By default, LXD can be used only by local users through a Unix socket and is not accessible over the... - [Configure single sign-on with OIDC](https://canonical.com/lxd/docs/latest/howto/oidc/index.html.md): An index of how-to guides for LXD single sign-on (SSO) with OpenID Connect (OIDC), including Auth0, Ory Hydra, Keycloak, Entra ID, Pocket ID, and authentik. - [How to configure Auth0 as login method for the LXD UI and CLI](https://canonical.com/lxd/docs/latest/howto/oidc_auth0/index.html.md): Auth0 is a flexible, drop-in solution to add authentication and authorization services to your appli... - [How to configure Ory Hydra as login method for the LXD UI](https://canonical.com/lxd/docs/latest/howto/oidc_ory/index.html.md): Ory Hydra is an easy solution to authenticate users for the LXD UI. It supports local users and soci... - [How to configure Keycloak as login method for LXD](https://canonical.com/lxd/docs/latest/howto/oidc_keycloak/index.html.md): Keycloak is a self-hosted open source tool for authentication. Keycloak supports OIDC and can be use... - [How to configure authentication with Entra ID](https://canonical.com/lxd/docs/latest/howto/oidc_entra_id/index.html.md): Configure LXD to authenticate using Entra ID via OpenID Connect (OIDC) in your tenant. - [How to configure Pocket ID as login method for LXD](https://canonical.com/lxd/docs/latest/howto/oidc_pocket_id/index.html.md): Configure LXD to authenticate using Pocket ID via OpenID Connect (OIDC) in your tenant. - [How to configure authentik as login method for the LXD UI and CLI](https://canonical.com/lxd/docs/latest/howto/oidc_authentik/index.html.md): Configure LXD to authenticate using authentik via OpenID Connect (OIDC) for the LXD UI and CLI. - [How to add command aliases](https://canonical.com/lxd/docs/latest/howto/lxc_alias/index.html.md): Add, view, and edit custom CLI shortcuts in LXD using lxc alias. - [How to create instances](https://canonical.com/lxd/docs/latest/howto/instances_create/index.html.md): When creating an instance, you must specify the image on which the instance should be based. - [How to configure instances](https://canonical.com/lxd/docs/latest/howto/instances_configure/index.html.md): You can configure instances by setting Instance properties, Instance options, or by adding and confi... - [How to manage instances](https://canonical.com/lxd/docs/latest/howto/instances_manage/index.html.md): When listing the existing instances, you can see their type, status, and location (if applicable). - [How to troubleshoot failing instances](https://canonical.com/lxd/docs/latest/howto/instances_troubleshoot/index.html.md): If your instance fails to start and ends up in an error state, this usually indicates a bigger issue... - [How to configure Ubuntu Pro guest attachment](https://canonical.com/lxd/docs/latest/howto/instances_ubuntu_pro_attach/index.html.md): If Ubuntu Pro is enabled on a LXD host, guest instances can be automatically attached to the Pro sub... - [How to access files in an instance](https://canonical.com/lxd/docs/latest/howto/instances_access_files/index.html.md): You can manage files inside an instance using the LXD client or the API without needing to access th... - [How to access the console](https://canonical.com/lxd/docs/latest/howto/instances_console/index.html.md): You can access the instance console to log in to the instance and see log messages. - [How to add a routed NIC device to a virtual machine](https://canonical.com/lxd/docs/latest/howto/instances_routed_nic_vm/index.html.md): When adding a routed NIC device to an instance, you must configure the instance to use the link-loca... - [How to back up instances](https://canonical.com/lxd/docs/latest/howto/instances_backup/index.html.md): There are different ways of backing up your instances: - [How to import physical or virtual machines to LXD instances](https://canonical.com/lxd/docs/latest/howto/import_machines_to_instances/index.html.md): <p class="youtube_link"> - [How to migrate LXD instances between servers](https://canonical.com/lxd/docs/latest/howto/instances_migrate/index.html.md): If you use the LXD client, you can migrate or copy instances from one LXD server (remote or local) t... - [How to pass an NVIDIA GPU to a container](https://canonical.com/lxd/docs/latest/howto/container_gpu_passthrough_with_docker/index.html.md): If you have an NVIDIA GPU (either discrete (dGPU) or integrated (iGPU)) and you want to pass the run... - [How to manage image registries](https://canonical.com/lxd/docs/latest/howto/image_registries/index.html.md): Create, view, configure, and delete LXD image registries. - [How to use remote images](https://canonical.com/lxd/docs/latest/howto/images_remote/index.html.md): Images are downloaded through image registries. - [How to manage images](https://canonical.com/lxd/docs/latest/howto/images_manage/index.html.md): When working with images, you can inspect various information about the available images, view and e... - [How to associate profiles with an image](https://canonical.com/lxd/docs/latest/howto/images_profiles/index.html.md): You can associate one or more profiles with a specific image. - [How to copy and import images](https://canonical.com/lxd/docs/latest/howto/images_copy/index.html.md): To add images to an image store, you can either copy them from another server or import them from fi... - [How to create images](https://canonical.com/lxd/docs/latest/howto/images_create/index.html.md): If you want to create and share your own images, you can do this either based on an existing instanc... - [How to create and configure projects](https://canonical.com/lxd/docs/latest/howto/projects_create/index.html.md): You can configure projects at creation time or later. - [How to work with different projects](https://canonical.com/lxd/docs/latest/howto/projects_work/index.html.md): If you have more projects than just the `default` project, you must make sure to use or address the ... - [How to confine users to specific projects](https://canonical.com/lxd/docs/latest/howto/projects_confine/index.html.md): You restrict users or clients to specific projects. - [How to manage storage pools](https://canonical.com/lxd/docs/latest/howto/storage_pools/index.html.md): Learn how to create, configure, view, and resize LXD storage pools across drivers, with practical examples. - [How to manage storage volumes](https://canonical.com/lxd/docs/latest/howto/storage_volumes/index.html.md): <p class="youtube_link"> - [How to manage storage buckets](https://canonical.com/lxd/docs/latest/howto/storage_buckets/index.html.md): Storage buckets store object-based data using non-local `cephobject` storage pools. When used in LXD... - [How to create an instance in a specific storage pool](https://canonical.com/lxd/docs/latest/howto/storage_create_instance/index.html.md): Instance storage volumes are created in the storage pool that is specified by the instance’s root di... - [How to back up custom storage volumes](https://canonical.com/lxd/docs/latest/howto/storage_backup_volume/index.html.md): There are different ways of backing up your custom storage volumes: - [How to move or copy storage volumes](https://canonical.com/lxd/docs/latest/howto/storage_move_volume/index.html.md): You can copy or move custom storage volumes from one storage pool to another, or copy or rename them... - [How to use the LXD CSI driver with Kubernetes](https://canonical.com/lxd/docs/latest/howto/storage_csi/index.html.md): Learn how to get the LXD Container Storage Interface (CSI) driver running in your Kubernetes cluster... - [How to create a network](https://canonical.com/lxd/docs/latest/howto/network_create/index.html.md): To create a managed network, use the `lxc network` command and its subcommands. - [How to configure a network](https://canonical.com/lxd/docs/latest/howto/network_configure/index.html.md): To configure an existing network, use either the `lxc network set` and `lxc network unset` commands ... - [How to configure LXD as a BGP server](https://canonical.com/lxd/docs/latest/howto/network_bgp/index.html.md): The BGP server feature is available for the Bridge network and the Physical network. - [How to configure network ACLs](https://canonical.com/lxd/docs/latest/howto/network_acls/index.html.md): Network ACLs are available for the OVN NIC type, the OVN network and the Bridge network (with some e... - [How to configure network forwards](https://canonical.com/lxd/docs/latest/howto/network_forwards/index.html.md): Network forwards are available for the OVN network and the Bridge network. - [How to configure network zones](https://canonical.com/lxd/docs/latest/howto/network_zones/index.html.md): Network zones are available for the OVN network and the Bridge network. - [How to configure your firewall](https://canonical.com/lxd/docs/latest/howto/network_bridge_firewalld/index.html.md): This guide applies to managed bridge networks only. - [How to integrate with `systemd-resolved`](https://canonical.com/lxd/docs/latest/howto/network_bridge_resolved/index.html.md): This guide applies to managed bridge networks only. - [How to set up OVN with LXD](https://canonical.com/lxd/docs/latest/howto/network_ovn_setup/index.html.md): See the following sections for how to set up a basic OVN network, either as a standalone network or ... - [How to configure network load balancers](https://canonical.com/lxd/docs/latest/howto/network_load_balancers/index.html.md): Network load balancers are currently available for the OVN network. - [How to create OVN peer routing relationships](https://canonical.com/lxd/docs/latest/howto/network_ovn_peers/index.html.md): This guide applies to OVN networks only. - [How to display IPAM information of a LXD deployment](https://canonical.com/lxd/docs/latest/howto/network_ipam/index.html.md): is a method used to plan, track, and manage the information associated with a computer network’s IP ... - [How to form a cluster](https://canonical.com/lxd/docs/latest/howto/cluster_form/index.html.md): When forming a LXD cluster, you start with a bootstrap server. - [How to manage a cluster](https://canonical.com/lxd/docs/latest/howto/cluster_manage/index.html.md): After your cluster is formed, use `lxc cluster list` to see a list of its members and their status. ... - [How to configure networks for a cluster](https://canonical.com/lxd/docs/latest/howto/cluster_config_networks/index.html.md): All members of a cluster must have identical networks defined. - [How to configure storage for a cluster](https://canonical.com/lxd/docs/latest/howto/cluster_config_storage/index.html.md): All members of a cluster must have identical storage pools. - [How to manage instances in a cluster](https://canonical.com/lxd/docs/latest/howto/cluster_manage_instance/index.html.md): In a cluster setup, each instance lives on one of the cluster members. - [How to set up cluster groups](https://canonical.com/lxd/docs/latest/howto/cluster_groups/index.html.md): <p class="youtube_link"> - [How to use placement groups](https://canonical.com/lxd/docs/latest/howto/cluster_placement_groups/index.html.md): Placement groups allow you to control how instances are distributed across cluster members. - [How to recover a cluster](https://canonical.com/lxd/docs/latest/howto/cluster_recover/index.html.md): It might happen that one or several members of your cluster go offline or become unreachable. - [How to recover orphaned volume database entries](https://canonical.com/lxd/docs/latest/howto/cluster_recover_volumes/index.html.md): When a cluster instance migration or custom volume migration is interrupted mid-transfer (for exampl... - [How to set up a highly available virtual IP for clusters](https://canonical.com/lxd/docs/latest/howto/cluster_vip/index.html.md): This page describes how to enhance the high availability (HA) of the control plane for a LXD cluster... - [How to create cluster links](https://canonical.com/lxd/docs/latest/howto/cluster_links_create/index.html.md): Create bidirectional and unidirectional cluster links between LXD clusters. - [How to manage cluster links](https://canonical.com/lxd/docs/latest/howto/cluster_links_manage/index.html.md): View, configure, and delete LXD cluster links and manage their permissions. - [How to benchmark performance](https://canonical.com/lxd/docs/latest/howto/benchmark_performance/index.html.md): <p class="youtube_link"> - [How to increase the network bandwidth](https://canonical.com/lxd/docs/latest/howto/network_increase_bandwidth/index.html.md): You can increase the network bandwidth of your LXD setup by configuring the transmit queue length (`... - [How to monitor security events](https://canonical.com/lxd/docs/latest/howto/security_events/index.html.md): Monitor security events in LXD including authentication, authorization, and administrative actions using the CLI, REST API, or Loki integration. - [How to send logs to Loki](https://canonical.com/lxd/docs/latest/howto/logs_loki/index.html.md): Forward LXD logging, lifecycle, ovn, and security events to Loki for centralized log aggregation, analysis, and long-term retention. - [Set up a Grafana dashboard](https://canonical.com/lxd/docs/latest/howto/grafana/index.html.md): To visualize the metrics and logs data, set up Grafana. - [Disaster recovery](https://canonical.com/lxd/docs/latest/howto/disaster_recovery/index.html.md): An index of how-to guides for LXD backup and recovery operations. - [How to set up replicators](https://canonical.com/lxd/docs/latest/howto/replicators_create/index.html.md): How to set up replicators to sync instances across LXD cluster links for active-passive disaster recovery. - [How to manage replicators](https://canonical.com/lxd/docs/latest/howto/replicators_manage/index.html.md): View, configure, rename, and delete LXD replicators and manage their configuration. - [How to perform disaster recovery with replicators](https://canonical.com/lxd/docs/latest/howto/disaster_recovery_replicators/index.html.md): How to perform disaster recovery failover and failback between clusters using LXD replicators. - [How to set up storage replication](https://canonical.com/lxd/docs/latest/howto/storage_replication_setup/index.html.md): How to set up storage replication to prepare for disaster recovery operations. - [How to perform disaster recovery with storage replication](https://canonical.com/lxd/docs/latest/howto/disaster_recovery_replication/index.html.md): How to perform disaster recovery failover and failback through storage replication. - [How to recover LXD database records for instances and custom volumes](https://canonical.com/lxd/docs/latest/howto/database_recovery/index.html.md): How to recover LXD database records through the interactive recovery tool, which scans storage pools to identify missing volumes and other resources. - [How to manage the LXD snap](https://canonical.com/lxd/docs/latest/howto/snap/index.html.md): The recommended way to manage LXD is its snap package. - [How to harden security for LXD](https://canonical.com/lxd/docs/latest/howto/security_harden/index.html.md): To increase the security posture of your LXD deployment, review the following hardening recommendati... - [Troubleshooting](https://canonical.com/lxd/docs/latest/howto/troubleshoot/index.html.md): An index of how-to guides for troubleshooting common LXD issues, including firewall configuration, instance errors, and Dqlite problems. - [How to troubleshoot (some) Dqlite errors](https://canonical.com/lxd/docs/latest/howto/dqlite_troubleshoot/index.html.md): Dqlite is the distributed database that LXD uses to store information - [Track a bugfix in the LXD snap](https://canonical.com/lxd/docs/latest/howto/snap_track_fix/index.html.md): Given a bug report that has been fixed in LXD, we can determine which snap channels have the fix and... - [How to authenticate to the LXD API using bearer tokens](https://canonical.com/lxd/docs/latest/howto/auth_bearer/index.html.md): To authenticate to the LXD API using a bearer token, first create an identity of type `bearer`: - [How to authenticate to the DevLXD API](https://canonical.com/lxd/docs/latest/howto/devlxd_authenticate/index.html.md): The DevLXD API is available inside guest instances to allow limited interaction with the host (see C... - [How to securely decommission a LXD deployment](https://canonical.com/lxd/docs/latest/howto/decommission/index.html.md): How to securely decommission a LXD server, cluster member, or cluster. ## Optional - [Top-level llms.txt](https://canonical.com/lxd/docs/latest/llms.txt): Complete documentation index.