LXDWare LXD Dashboard

LXD Dashboard, by LXDWARE is an open source web-based user interface capable of managing multiple LXD servers from a single location. LXD Dasboard can create LXD containers, start, stop, and delete them. LXD Dashboard can manage snapshots and backups as well as downloading backups of LXD instances to your local computer.

LXD dashboard can be deployed on a LXD or Docker container and uses Ubuntu, NginX, and PHP.

INSTALLATION ON A LXD INSTANCE OR A VM

Dependencies:

sudo apt update && sudo apt install nginx php-fpm php-curl sqlite3 php-sqlite3 -y

Get the package:

wget https://github.com/lxdware/lxd-dashboard/archive/v3.4.0.tar.gz

Extract the package:

tar -xzf v3.4.0.tar.gz

Copy files to destinations:

sudo cp -a lxd-dashboard-3.4.0/default /etc/nginx/sites-available/
sudo cp -a lxd-dashboard-3.4.0/lxd-dashboard /var/www/html/

Make Folders for program storage:

sudo mkdir -p /var/lxdware/data/sqlite
sudo mkdir -p /var/lxdware/data/lxd
sudo mkdir -p /var/lxdware/backups

Change permissions:

chown -R www-data:www-data /var/lxdware/
chown -R www-data:www-data /var/www/html

Restart the webserver:

sudo systemctl restart nginx

INSTALLATION IN A DOCKER CONTAINER

mkdir docker
cd docker
mkdir lxdware

Make your docker-compose.yml file:

version: '3'
services:
  LXD-Dashboard:
    image: lxdware/dashboard:latest
    ports:
      - "8080:80"
    volumes:
      - "./lxdware:/var/lxdware:rw"

Start the container:

docker-compose up -d

In both install cases, navigate to the address of the server on which you performed the installation in a web browser. Fill in the registration details.

After you perform the installation and try to add a LXD server to manage, you will need to copy the certificate from the LXD Dashboard web interface. Place the certificate in a file like lxdware.crt on the LXD host you want to manage.

To authorize your LXD dashboard to your server, you must sign on to a command prompt on the actual LXD server and perform the following two commands assuming you have the certificate in the file lxdware.crt.

lxc config trust add lxdware.crt
lxc config set core.https_address [::]