LXD Graphical Web Console
Go to file
Matthew Penning 919f510f1f
Merge pull request #10 from PenningLabs/v0.4.0
V0.4.0
2023-11-14 22:18:32 -05:00
lxconsole v0.4.0 2023-11-11 13:34:27 -05:00
CHANGELOG.md v0.4.0 2023-10-31 06:34:14 -04:00
Dockerfile v0.3.0 2023-10-07 19:30:17 -04:00
LICENSE v0.0.0 2023-05-04 05:33:42 -04:00
README.md v0.0.0 2023-05-04 05:33:42 -04:00
requirements.txt v0.3.0 2023-10-07 19:30:17 -04:00
roadmap.txt v0.4.0 2023-10-24 05:28:27 -04:00
run.py v0.0.0 2023-05-04 05:33:42 -04:00

README.md

lxconsole

This open source application that provides a web-based user interface capable of managing multiple LXD servers from a single location. Some of the features include:

  • Connect and manage multiple LXD servers
  • Create LXD container and virtual machine instances from either a form or JSON input
  • Start, stop, rename, and delete LXD instances
  • Copy instances to create new instances
  • Create, restore and delete snapshots of instances
  • Create instances from snaphots
  • Migrate instances between hosts on an LXD cluster
  • Download LXD container and virtual machine images to LXD hosts
  • Create, edit, apply, and remove LXD profiles
  • Create, edit, and delete networks, storage pools, storage volumes, and projects
  • Switch between projects on an LXD host
  • Interact with instances using web-based terminal
  • Create and download backups of LXD instance to your local computer
  • Create local users and groups
  • Apply role based access control

Lxconsole is a python web application that used flask as a framework.

This software is currently in BETA TESTING. Please see roadmap.txt for development plans.

Use the following instructions to setup this software on a linux server:

  1. Clone the git repository (git clone https://github.com/PenningLabs/lxconsole.git)
  2. Install the python packages found in requirements.txt. (pip3 install -r requirements.txt)
  3. Using python, run the run.py file. (python3 run.py)
  4. Using your browser, visit http://YOURIPADDRESS:5000

Instructions on setting up lxconsole as a docker image.

  1. Build the docker image (sudo docker build --no-cache -t penninglabs/lxconsole:v0.0.0 .)
  2. Run the docker container (sudo docker run -p 5000:5000 --name lxconsole -d penninglabs/lxconsole:v0.0.0)
  3. Additionally the flask session secret key can be set using the environment variable LXCONSOLE_SECRET_KEY.
  4. Mounted volumes of interest for persistence include the certs (lxconsole client.key and client.crt) and instance (db.sqlite3 database) directories:
  • /opt/lxconsole/certs
  • /opt/lxconsole/instance