LXConsole is an open source application that provides a web-based user interface capable of managing multiple Incus and LXD servers from a single location.
Incus Documentation
Prerequisite: Incus - Ubuntu 26.04 Installation
Create Container (Ubuntu 26.04)
1
| incus launch images:ubuntu/26.04 lxconsole --profile=default --profile=bridgeprofile -c security.nesting=true -c boot.autostart=true
|
Setup for LXConsole (Docker)
Shell into the created container:
Setup User and SSH Access:
1
2
3
| adduser <username>
usermod -aG sudo <username>
apt update && apt install wget curl git nano openssh-server dnsutils openvswitch-switch -y
|
Setup Static Server IP:
1
| nano /etc/netplan/10-lxc.yaml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| network:
version: 2
ethernets:
eth0:
addresses:
- "192.168.x.x/24"
nameservers:
addresses:
- 192.168.x.x
search:
- pengwin.home
routes:
- to: "default"
via: "192.168.x.x"
|
Apply the configuration:
Exit from the container:
Use Incus List to see the IP of the lxconsole container
1
2
3
4
5
6
7
| user@incus:~$ incus list
+----------------+---------+----------------------+--------------+-----------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+----------------+---------+----------------------+--------------+-----------------+-----------+
| lxconsole | RUNNING | 192.168.x.x (eth0) | | CONTAINER | 0 |
+----------------+---------+----------------------+--------------+-----------------+-----------+
|
SSH into the container:
1
| ssh <username>@<lan ip of container>
|
Install Docker
1
2
3
| curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker [YourUser]
newgrp docker
|
Note: If you are on Ubuntu 26.04, the newgrp command is not installed by default. You need to install the util-linux-extra package:
1
| sudo apt install util-linux-extra
|
Create Container for LXConsole
Become root:
Create directories for LXConsole container (this is my preferred place to put containers):
1
2
| mkdir -p /opt/stacks/lxconsole
mkdir -p /opt/stacks/lxconsole/lxbackups
|
Change directory to LXConsole and create compose file:
1
| cd /opt/stacks/lxconsole
|
1
2
3
4
5
6
7
8
9
10
11
| services:
lxconsole:
image: penninglabs/lxconsole:latest
container_name: lxconsole
restart: unless-stopped
ports:
- '5000:5000'
volumes:
- /mnt/incus:/opt/stacks/lxconsole/backups
- /opt/stacks/lxconsole/certs:/opt/lxconsole/certs
- /opt/stacks/lxconsole/server:/opt/lxconsole/instance
|
Start the LXConsole container:
Access the LXConsole
1
| http://192.168.x.x:5000
|
Create a user
Login
Add a Server to LXConsole:
On the Incus server:
Now in the lxconsole web ui, click on the ‘Add Server’ button in the upper right of the window. You’ll be prompted with a modal (pop-up) window. In that window above the fields, you’ll see a bit of information. There is a link on that information you need to click. Follow the instructions (create the crt and run the two incus commands. Then add the server in the pop-up using the relevant information.