Quick install reference for this host (Ubuntu).
sudo apt update
sudo apt install cockpit cockpit-machinescockpit— web UI + host modules (system, storage, network, …)cockpit-machines— Virtual Machines page (pulls in libvirt/QEMU)
sudo apt install podman cockpit-podmanpodman— container engine (Docker-compatible CLI/images; not the Docker daemon)cockpit-podman— Podman containers page in Cockpit
Enable/start the web socket if needed:
sudo systemctl enable --now cockpit.socketCockpit listens via systemd socket activation on port 9090:
| Unit | cockpit.socket |
| Listen | 9090 (ListenStream=9090) |
| Local URL | http://localhost:9090 |
| LAN URL | http://<host-ip>:9090 |
# status
systemctl status cockpit.socket
# open locally
xdg-open http://localhost:9090systemctl --user enable --now podman.socket
Browser will warn about the self-signed cert — expected for local Cockpit.
Log in with your Linux user (needs permission for the features you use: e.g. libvirt group for VMs; rootless Podman runs as your user).
- Open http://localhost:9090
- Virtual Machines → create/manage libvirt VMs
- Podman containers → images, containers, pods (Podman only — not Docker Engine)
Optional: reboot or re-login if the Containers tab does not show up right away.
- Docker ≠ Podman in Cockpit:
cockpit-podmandoes not manage Docker. Same OCI images work; separate runtime. - Existing Docker install (if any) keeps working via
dockerCLI; new Cockpit-managed containers should use Podman. - VMs on this box have used
qemu:///session(user session) as well as system libvirt — check which connection Cockpit is using if a VM is “missing.”