• Stars
    star
    4,213
  • Rank 9,748 (Top 0.2 %)
  • Language
    Go
  • License
    GNU Affero Genera...
  • Created over 9 years ago
  • Updated 15 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Powerful system container and virtual machine manager

LXD

LXD

LXD is a modern, secure and powerful system container and virtual machine manager.

It provides a unified experience for running and managing full Linux systems inside containers or virtual machines. LXD supplies images for a wide number of Linux distributions and is built around a very powerful, yet pretty simple, REST API. LXD scales from one instance on a single machine to a cluster in a full data center rack, making it suitable for running workloads both for development and in production.

LXD allows you to easily set up a system that feels like a small private cloud. You can run any type of workload in an efficient way while keeping your resources optimized.

You should consider using LXD if you want to containerize different environments or run virtual machines, or in general run and manage your infrastructure in a cost-effective way.

Get started

To get a better idea of what LXD is and what it does, you can try it online! This interactive demo guides you through the basic steps of using LXD and shows how to launch and inspect your first instances, update the configuration, work with commands and files inside an instance and create snapshots.

Then, if you want to run LXD locally, take a look at our getting started guide for installation instructions.

Status

Type Service Status
CI (client) GitHub Build Status
CI (server) Jenkins Build Status
Go documentation Godoc GoDoc
Static analysis GoReport Go Report Card
Translations Weblate Translation status
Project status CII Best Practices CII Best Practices

Installing LXD from packages

The LXD daemon only works on Linux but the client tool (lxc) is available on most platforms.

OS Format Command
Linux Snap snap install lxd
Windows Chocolatey choco install lxc
macOS Homebrew brew install lxc

More instructions on installing LXD for a wide variety of Linux distributions and operating systems can be found on our website.

To install LXD from source, see Installing LXD in the documentation.

Security

Consider the following aspects to ensure that your LXD installation is secure:

  • Keep your operating system up-to-date and install all available security patches.
  • Use only supported LXD versions (LTS releases or monthly feature releases).
  • Restrict access to the LXD daemon and the remote API.
  • Do not use privileged containers unless required. If you use privileged containers, put appropriate security measures in place. See the LXC security page for more information.
  • Configure your network interfaces to be secure.

See Security for detailed information.

IMPORTANT:

Local access to LXD through the Unix socket always grants full access to LXD. This includes the ability to attach file system paths or devices to any instance as well as tweak the security features on any instance.

Therefore, you should only give such access to users who you'd trust with root access to your system.

Support and community

The following channels are available for you to interact with the LXD community.

Bug reports

You can file bug reports and feature requests at: https://github.com/lxc/lxd/issues/new

Forum

A discussion forum is available at: https://discuss.linuxcontainers.org

Mailing lists

We use the LXC mailing lists for developer and user discussions. You can find and subscribe to those at: https://lists.linuxcontainers.org

IRC

If you prefer live discussions, you can find us in #lxc on irc.libera.chat. See Getting started with IRC if needed.

Commercial support

Commercial support for LXD can be obtained through Canonical Ltd.

Documentation

The official documentation is available at: https://linuxcontainers.org/lxd/docs/latest/

You can find additional resources on the website, on YouTube and in the Tutorials section in the forum.

Contributing

Fixes and new features are greatly appreciated. Make sure to read our contributing guidelines first!

More Repositories

1

microk8s

MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge.
Python
8,116
star
2

multipass

Multipass orchestrates virtual Ubuntu instances
C++
7,204
star
3

dqlite

Embeddable, replicated and fault tolerant SQL engine.
C
3,472
star
4

cloud-init

Official upstream for the cloud-init: cloud instance initialization
Python
2,591
star
5

snapcraft

Package, distribute, and update any app for Linux and IoT.
Python
1,128
star
6

raft

C implementation of the Raft consensus protocol
C
852
star
7

lightdm

Display Manager
C
791
star
8

vanilla-framework

From community websites to web applications, this CSS framework will help you achieve a consistent look and feel.
HTML
723
star
9

netplan

Declarative network configuration for various backends
Python
594
star
10

ubuntu-desktop-installer

Ubuntu Desktop Installer
Dart
537
star
11

subiquity

Ubuntu Server Installer, and backend for Ubuntu Desktop Installer
Python
451
star
12

go-dqlite

Go bindings for libdqlite
Go
358
star
13

pylxd

Python module for LXD
Python
252
star
14

microcloud

Automated private cloud based on LXD, Ceph and OVN
Go
241
star
15

operator

Pure Python framework for writing Juju charms
Python
238
star
16

lxd-ui

Easy and accessible container and virtual machine management. A browser interface for LXD
TypeScript
208
star
17

chisel

Go
193
star
18

packer-maas

Packer templates to create MAAS deployable images
Python
172
star
19

microceph

Ceph for a one-rack cluster and appliances
Go
170
star
20

ubuntu.com

The official website for the Ubuntu operating system
HTML
164
star
21

pebble

Take control of your internal daemons!
Go
131
star
22

snapcraft.io

The official website's repository for the Snap store
JavaScript
129
star
23

prometheus-openstack-exporter

OpenStack exporter for the prometheus monitoring system
Python
115
star
24

firmware-updater

An experimental firmware updater UI based on fwupd
Dart
104
star
25

bundle-kubeflow

Charmed Kubeflow
Python
92
star
26

dbus.dart

Native Dart client library to use DBus.
Dart
90
star
27

ubuntu-core-desktop

Makefile
88
star
28

ubuntu-image-legacy

Legacy Python-based Ubuntu image building scripts. Please see Canonical/ubuntu-image instead. Report bugs at Launchpad.
Python
85
star
29

sec-cvescan

Analyzes an Ubuntu system and checks for unpatched vulnerabilities.
Python
84
star
30

cloud-utils

This package provides a useful set of utilities for interacting with a cloud.
Shell
79
star
31

ubuntu-image

Official tool to build Ubuntu Images.
Go
77
star
32

lxd-demo-server

The LXD demo server
JavaScript
74
star
33

steam-snap

Steam as a snap
Python
66
star
34

matter-pi-gpio-commander

Matter Raspberry Pi GPIO Commander - Turn your Pi into a Matter lighting device!
C++
63
star
35

design-vanilla-framework

Design components for Vanilla Framework.
60
star
36

charmcraft

Collaborate, build and publish charmed operators for Kubernetes, Linux and Windows.
Python
58
star
37

etrace

Utility for tracing execution of apps
Go
55
star
38

multipass-blueprints

Blueprint definitions for [`multipass launch`](https://multipass.run)
54
star
39

microk8s-community-addons

The add-ons shipped with MicroK8s
Shell
54
star
40

Ubuntu-Sans-Mono-fonts

Python
51
star
41

bluez.dart

Dart
51
star
42

react-components

A set of components based on Vanilla Framework
TypeScript
50
star
43

curtin

Official mirror of curtin project
Python
50
star
44

jhack

Chock-full of Juju hackery.
Python
48
star
45

ubuntu-pro-client

Ubuntu Pro Client for offerings from Canonical
Python
47
star
46

wizard_router

A classic linear wizard router for Flutter
Dart
47
star
47

desktop_notifications.dart

Native Dart client library to send Linux desktop notifications.
Dart
44
star
48

landscape-client

The Landscape Client is the agent which communicates with the Landscape service.
Python
42
star
49

Ubuntu-Sans-fonts

Python
42
star
50

nrpe_exporter

Prometheus NRPE exporter. This exporter exposes metrics on commands sent to a running NRPE daemon.
Go
42
star
51

candid

Identity Manager Service
Go
39
star
52

ubuntu-flutter-plugins

A collection of Flutter plugins and packages for Ubuntu applications.
Dart
38
star
53

workshops

Workshops
Dart
34
star
54

microk8s-core-addons

Core MicroK8s addons
Python
33
star
55

open-documentation-academy

Learn open-source software documentation skills with Canonical
33
star
56

maas-ui

The UI for MAAS (metal-as-a-service)
TypeScript
32
star
57

ubuntu-cooker

Ubuntu WSL UWP Builder
PowerShell
31
star
58

autoinstall-desktop

Python
31
star
59

nm.dart

Native Dart client library to access NetworkManager on Linux.
Dart
29
star
60

hotsos

Software analysis toolkit. Define checks in high-level language and leverage library to perform analysis of common Cloud applications.
29
star
61

autoinstall-generator

Utility to convert Debian Installer preseed to Subiquity answers
Python
29
star
62

ubuntu-desktop-provision

Ubuntu Desktop Provision
Dart
29
star
63

k8s-dqlite

Dqlite for Kubernetes
Go
27
star
64

landscape-scripts

A collection of scripts to make Landscape more powerful
Shell
27
star
65

snapd.dart

Native Dart client to access snapd
Dart
26
star
66

microovn

Snap based deployment of OVN
Go
25
star
67

kubeflow-examples

Charmed Kubeflow examples
Jupyter Notebook
25
star
68

checkbox

Checkbox
Python
24
star
69

go-tpm2

Native go library for interacting with TPM 2.0 devices
Go
22
star
70

iot-agent

IoT Device Management Agent
Go
21
star
71

dotrun

Python
21
star
72

probert

Prober tool - Hardware discovery library used in Subiquity
Python
21
star
73

sync-issues-github-jira

Automation to sync issues from Github (using Github actions) to Jira (via Jira webhooks)
20
star
74

prometheus-k8s-operator

This charmed operator automates the operational procedures of running Prometheus, an open-source metrics backend.
Python
19
star
75

microcluster

dqlite cluster management using go-dqlite
Go
19
star
76

apport

Apport intercepts Program crashes, collects debugging information about the crash and the operating system environment, and sends it to bug trackers in a standardized form. It also offers the user to report a bug about a package, with again collecting as much information about it as possible.
Python
19
star
77

colcon-in-container

Colcon extension to build a colcon workspace in a container
Python
18
star
78

pycloudlib

Python library to launch, interact and, snapshot cloud instances
Python
18
star
79

desktop-design

HTML
18
star
80

canonical.com

Repository for the new version of canonical.com
HTML
18
star
81

flutter-snap

CMake
18
star
82

udisks.dart

Native Dart client library to access UDisks service on Linux.
Dart
18
star
83

gsettings.dart

Native Dart client library to access GSettings.
Dart
17
star
84

anbox-cloud.io

Anbox cloud demo site
HTML
17
star
85

iot-management

IoT Management Service
Go
17
star
86

microk8s-addons-repo-template

Template repository for MIcroK8s addons
Python
17
star
87

rockcraft

Tool to create OCI Images using the language from Snapcraft and Charmcraft.
Python
17
star
88

chisel-releases

17
star
89

maas-commissioning-scripts

A repository of example MAAS commissioning scripts
Shell
16
star
90

eks-snap

Single-package EKS Distro
Python
16
star
91

upower.dart

Native Dart client library to access UPower service on Linux.
Dart
16
star
92

ubuntu-desktop-hyper-v

Ubuntu Desktop Hyper-V Quick Create Gallery
Shell
16
star
93

maas.io

Site for maas.io
HTML
15
star
94

setup-lxd

A GitHub Action to install & configure LXD on a runner.
15
star
95

libssh

mulitplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side http://libssh.org
C
15
star
96

packagekit.dart

Native Dart client library to access PackageKit.
Dart
15
star
97

charm-relation-interfaces

Opinionated and standardized interface specifications for charmed operator relations.
Python
15
star
98

ubuntu-wsl-integration

Ubuntu WSL Integrations
Python
14
star
99

microk8s.io

Code for the microk8s.io website by Canonical
HTML
14
star
100

sqlair

Friendly type mapping for SQL databases
Go
14
star