I had time to polish up my vagrant-libvirt setup for playing around with SemaphoreUI (https://semaphoreui.com/). Have a lot of fun!
https://codeberg.org/johanneskastl/semaphore_vagrant_libvirt_ansible
https://github.com/johanneskastl/semaphore_vagrant_libvirt_ansible
Currently only one VM with Semaphore. But I am working on another setup with a runner and a VM that can be managed by Semaphore.