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
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
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.