This documentation is organized into guides for operators of Unikraft unikernels who wish to run ultra-lightweight VMs; developers who wish to package pre-existing applications into a unikernel; and, hackers, researchers and staff who wish to extend Unikraft itself.
Unikraft is a compile-time specialization strategy and alternative system for running your application compared to containers or traditional VMs as it allows you to completely customize the OS/kernel which facilitates the runtime of your application. There are many benefits in running your application as a unikernel: for more information about the performance advantages 🚀, the added security 🔒 and a positive impact on the environment 🌱 please check out the introductory concept chapters.
The Unikraft ecosystem consists of an extensive build system and tooling,
libraries and pre-built unikernel applications. All of the source code is
open-source and licensed under BSD-3-Clause
(contributions welcome!). As an
active community, we host regular working groups, hackathons, meetups and more.
To get started building and using Unikraft, you can use the companion
command-line tool kraft
, allowing you to easily leverage Unikraft
unikernels at every stage of their lifecycle, from construction to production:
curl --proto '=https' --tlsv1.2 -sSf https://get.kraftkit.sh | sh
See alternative installation methods and CLI usage instructions.
Unikraft works with your favorite programming languages. We've put together step-by-step guides for these languages:
Looking to get involved? Contributions are welcome! Unikraft is an open-source project hosted on GitHub with weekly communitiy meetings on Discord which follow on-going projects. There are also unclaimed projects, open issues, and opportunities for bachelors and masters theses.
Whether you're a beginner or advanced user, joining our community is the best way to connect with like-minded people who build great products.
Feel free to ask questions, report issues, and meet new people.