Vikunja is the only viable thing. CalDAV spec allows to assign tasks, but we got XMPP moment here - spec exists, but almost no apps implement it properly.
Also you may take a look at https://github.com/awesome-selfhosted/awesome-selfhosted#task-management--to-do-lists
It virtualises only parts of operating system (namely processes and network namespaces with ability to passthru devices and mount points). It is still using host kernel, for example.