Skip to content

Leworoe/docker-virt-manager

 
 

Repository files navigation

Docker virt-manager

GTK Broadway web UI for libvirt

Docker virt-manager

What is it?

virt-manager: https://virt-manager.org/ broadway: https://developer.gnome.org/gtk3/stable/gtk-broadway.html

Features:

  • 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.

Screen Shot 2021-10-25 at 12 01 02 AM

  • Dark mode

Requirements:

git, docker, docker-compose, at least one libvirt/kvm host

Usage

docker-compose

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

Building from Dockerfile

    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

About

Docker virt-manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Dockerfile 53.7%
  • Shell 46.3%