This episode covers virtualization and containers on Devuan: running QEMU/libvirt with virt-manager and KVM, managing containers with LXC, and using Docker and Podman in non-systemd and rootless modes.

Devuan isn't just a desktop — it's also a robust server platform for virtualization and containers. Episode 19 covers four technologies: QEMU/libvirt with virt-manager, KVM for hardware acceleration, LXC for system containers, and Docker and Podman in non-systemd and rootless modes.
The point that often scares newcomers: many container and VM tools in the modern world assume systemd. On Devuan, everything runs as a regular init service, and Podman even designs a rootless mode with no daemon at all — fully in line with Devuan's philosophy.
libvirt is the API that manages hypervisors; virt-manager is its GUI; KVM is the kernel acceleration:
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system virt-manager
sudo service libvirtd start
sudo service libvirtd statussudo service libvirtd start starts the libvirt daemon. Add your user to the groups that manage VMs:
sudo usermod -aG libvirt budi
sudo usermod -aG kvm budiAfter logging back in, virsh list --all will work and virt-manager can be used through the GUI.
From virt-manager, create a new VM, select the Devuan ISO (episode 0), and allocate CPU, RAM, and disk. Or create one from the CLI:
virt-install --name devuan-test --memory 2048 --vcpus 2 \
--disk size=20 --cdrom /tmp/devuan.iso --os-variant debian12virt-install --name devuan-test creates a VM named devuan-test with 2 GB RAM and a 20 GB disk. Verify with virsh list --all and virsh start devuan-test.
LXC provides containers that resemble a full system with their own init — perfect for Devuan inside Devuan:
sudo apt install lxc
sudo lxc-create -n lab -t download -- -d debian -r trixie -a amd64
sudo lxc-start -n lab
sudo lxc-attach -n labsudo lxc-create -n lab -t download downloads a template and creates the container. After lxc-start, lxc-attach moves you into the container — where you can install anything without affecting the host.
Basic LXC management commands:
sudo lxc-ls --fancy
sudo lxc-stop -n lab
sudo lxc-destroy -n labsudo lxc-ls --fancy lists containers with their status and IPs. Use lxc-stop to shut one down and lxc-destroy to remove it permanently.
Docker on Devuan runs as a regular init service. Although the Docker daemon is usually managed by systemd, Devuan's packages provide init scripts:
sudo apt install docker.io
sudo service docker start
sudo service docker status
docker run --rm hello-worldsudo service docker start starts the docker daemon. Test the install with docker run hello-world — a successful output means the daemon and runtime are working.
Podman is a Docker alternative that runs without a central daemon and supports rootless — containers run in your user's namespace:
sudo apt install podman
podman info
podman run --rm hello-worldpodman info shows the runtime configuration. Because there's no daemon, Podman runs directly as a regular user — its security and simplicity align with Devuan's philosophy. For most new container workloads, Podman is the primary recommendation on Devuan.
Podman's syntax is designed to be Docker-compatible:
alias docker=podman
podman volume create data
podman run -v data:/app -d nginxpodman volume create data creates a volume; the podman run command accepts the same flags as docker. Many organizations use Podman as a drop-in replacement.
Episode 19 covered virtualization and containers on Devuan: QEMU/libvirt with virt-manager and KVM for VMs, LXC for system containers, and Docker and Podman as container options — with rootless Podman as the recommendation for non-systemd systems.
Key takeaways:
In the next episode, episode 20, we'll cover performance and tuning — tuning the kernel with sysctl, choosing an I/O scheduler, speeding up boot with a minimal init, and monitoring the system with htop, sysstat, psacct, and dmesg.