virt-manager: https://virt-manager.org/ broadway: https://developer.gnome.org/gtk3/stable/gtk-broadway.html
- Uses GTK3 Broadway (HTML5) backend--no vnc, xrdp, etc needed!
- Password/SSH passphrase support via ttyd (thanks to @obazda20 for the idea!) Just click the terminal icon at the bottom left to get to the password prompt after adding an ssh connection.
- Dark mode
git, docker, docker-compose, at least one libvirt/kvm host
If docker and libvirt are on the same host
services:
virt-manager:
image: ghcr.io/leworoe/docker-virt-manager:main
restart: always
ports:
- 8185:80
environment:
# Set DARK_MODE to true to enable dark mode
DARK_MODE: false
# If connecting to remote libvirtd, you can use a qemu+ssh string like below. Default qemu:///system will connect to local libvirtd:
# HOSTS: "['qemu+ssh://user@host1/system', 'qemu+ssh://user@host2/system']"
HOSTS: "['qemu:///system']"
# If on an Ubuntu host (or any host with the libvirt AppArmor policy, you will need to use an ssh connection to localhost
# or use qemu:///system and uncomment the below line to run the container in privileged mode:
# privileged: true
volumes:
# Volumes needed if connecting to local qemu:///system
- /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock
- /var/lib/libvirt/images:/var/lib/libvirt/images
# If connecting to remote libvirtd, substitute location of ssh private key, e.g.:
# - /home/user/.ssh/id_rsa:/root/.ssh/id_rsa:ro
devices:
# Not needed if connecting to remote libvirtd
- /dev/kvm:/dev/kvm
If docker and libvirt are on different hosts
services:
virt-manager:
image: ghcr.io/leworoe/docker-virt-manager:main
restart: always
ports:
- 8185:80
environment:
# Set DARK_MODE to true to enable dark mode
DARK_MODE: false
# If connecting to remote libvirtd, you can use a qemu+ssh string like below. Default qemu:///system will connect to local libvirtd:
# HOSTS: "['qemu+ssh://user@host1/system', 'qemu+ssh://user@host2/system']"
HOSTS: "[]"
# volumes:
# If connecting to remote libvirtd, substitute location of ssh private key, e.g.:
# - /home/user/.ssh/id_rsa:/root/.ssh/id_rsa:ro
git clone https://github.com/Leworoe/docker-virt-manager.git
cd docker-virt-manager
docker build -t docker-virt-manager . && docker-compose up -d
Go to http://localhost:8185 in your browser