{"id":16769442,"url":"https://github.com/ilackarms/unik","last_synced_at":"2026-05-17T13:32:20.982Z","repository":{"id":76221958,"uuid":"85077208","full_name":"ilackarms/unik","owner":"ilackarms","description":"The Unikernel Compilation and Deployment Platform","archived":false,"fork":false,"pushed_at":"2017-03-24T16:36:04.000Z","size":37835,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-23T01:31:05.911Z","etag":null,"topics":["aws","containers","golang","includeos","microservice","mirageos","openstack","osv","rumprun","unikernel","virtualbox","vm","vsphere"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilackarms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-15T13:42:36.000Z","updated_at":"2023-11-24T19:11:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"aee6f773-7196-4bd3-8239-9acd88d278cd","html_url":"https://github.com/ilackarms/unik","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilackarms%2Funik","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilackarms%2Funik/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilackarms%2Funik/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilackarms%2Funik/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilackarms","download_url":"https://codeload.github.com/ilackarms/unik/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243878488,"owners_count":20362433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","containers","golang","includeos","microservice","mirageos","openstack","osv","rumprun","unikernel","virtualbox","vm","vsphere"],"created_at":"2024-10-13T06:14:07.728Z","updated_at":"2026-05-17T13:32:15.961Z","avatar_url":"https://github.com/ilackarms.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"http://i.imgur.com/npkzp8l.png\" alt=\"Build and run unikernels\" width=\"141\" height=\"50\"\u003e\n\nUniK (pronounced you-neek) is a tool for compiling application sources into unikernels (lightweight bootable disk images) rather than binaries.\n\nUniK runs and manages instances of compiled images across a variety of cloud providers as well as locally on Virtualbox.\n\nUniK utilizes a simple docker-like command line interface, making building unikernels as easy as building containers.\n\nUniK is built to be easily extensible, allowing (and encouraging) adding support for unikernel [compilers](docs/compilers/README.md) and cloud [providers](docs/providers/README.md). See [architecture](docs/architecture.md) for a better understanding of UniK's pluggable code design.\n\nTo learn more about the motivation behind project UniK, read our [blog](https://github.com/ilackarms/unik/wiki/UniK:-Build-and-Run-Unikernels-with-Ease) post, or [watch](https://www.youtube.com/watch?v=wcZWg3YtvnY) session ([Slides](http://www.slideshare.net/IditLevine/unik-slides)).\nWe also encourage you to read [this](https://github.com/ilackarms/unik/wiki/Worried-about-IoT-DDoS%3F-Think-Unikernels) blog about IoT Security.\u003cBR\u003e\u003cBR\u003e\nTo stay up-to-date on UniK, follow us [@ProjectUnik](https://twitter.com/ProjectUniK) and join us on our [slack channel](http://project-unik.io).\n\n---\n\n### *Changelog*:\n\nDue to the frequency with which features and patches are applied to UniK, we have decided to list these changes by date in our [unversioned changelog](docs/changelog.md).\n\n---\n\n### Documentation\n- **Installation**\n  - [Install UniK](docs/install.md)\n  - [Configuring the daemon](docs/configure.md)\n  - [Launching the InstanceListener](docs/instance_listener.md)\n- **Getting Started**\n  - [Pull and run a unikernel without building](docs/getting_started_pull.md) on Virtualbox with UniK\n  - [Run your first Go unikernel](docs/getting_started.md) on Virtualbox with UniK\n  - [Run your first Node.js unikernel](docs/getting_started_node.md) on Virtualbox with UniK\n  - [Run your first Python3 unikernel](docs/getting_started_python3.md) on Virtualbox with UniK\n  - [Run your first Java unikernel](docs/getting_started_java.md) on Virtualbox with UniK\n  - [Run your first C++ unikernel](docs/getting_started_cpp.md) on Virtualbox with UniK\n- **User Documenation**\n  - Using the [command line interface](docs/cli.md)\n  - Compiling [Node.js](docs/compilers/rump.md#nodejs) Applications to Unikernels\n  - Compiling [Go](docs/compilers/rump.md#golang) Applications to Unikernels\n  - Compiling [Java](docs/compilers/osv.md#java) Applications to Unikernels (OSv)\n  - Compiling [Node.js](docs/compilers/osv.md#nodejs) Applications to Unikernels (OSv)\n  - Compiling [C/C++](docs/compilers/osv.md#native) Applications to Unikernels (OSv)\n  - Compiling [C/C++](docs/compilers/includeos.md) Applications to Unikernels\n  - Compiling [Python3](docs/compilers/rump.md#python-3) Applications to Unikernels\n- **Developer Documentation**\n  - Adding [compiler](docs/compilers/README.md) support\n  - Adding [provider](docs/providers/README.md) support\n\n---\n\n### Supported unikernel types:\n* **rump**: UniK supports compiling [Python](docs/compilers/rump.md#python-3), [Node.js](docs/compilers/rump.md#nodejs) and [Go](docs/compilers/rump.md#golang) code into [rumprun](docs/compilers/rump.md) unikernels\n* **OSv**: UniK supports compiling Java, Node.js, C and C++ code into [OSv](http://osv.io/) unikernels\n* **IncludeOS**: UniK supports compiling C++ code into [IncludeOS](https://github.com/hioa-cs/IncludeOS) unikernels\n* **MirageOS**: UniK supports compiling [OCaml](docs/compilers/mirage.md), code into [MirageOS](https://mirage.io) unikernels\n\n*We are looking for community help to add support for more unikernel types and languages.*\n\n### Supported providers:\n* [Virtualbox](docs/providers/virtualbox.md)\n* [AWS](docs/providers/aws.md)\n* [Google Cloud](docs/providers/gcloud.md)\n* [vSphere](docs/providers/vsphere.md)\n* [QEMU](docs/providers/qemu.md)\n* [UKVM](docs/providers/ukvm.md)\n* [Xen](docs/providers/xen.md)\n* [OpenStack](docs/providers/openstack.md)\n* [Photon Controller](docs/providers/photon.md)\n\n### Roadmap:\n* dynamic volume and application arguments configuration at instance runtime (rather than at compile time)\n* expanding test coverage\n* better code documentation\n* multi-account support per provider (i.e. multiple AWS accounts/regions, etc.)\n* migrate from [martini](https://github.com/go-martini/martini) to [echo](https://github.com/labstack/echo)\n\nUniK is still experimental! APIs and compatibility are subject to change. We are looking for community support to help identify potential bugs and compatibility issues. Please open a Github issue for any problems you may experience, and join us on our [slack channel](http://project-unik.io)\n\n---\n\n### Thanks\n\n**UniK** would not be possible without the valuable open-source work of projects in the unikernel community. We would like to extend a special thank-you to [rumprun](https://github.com/rumpkernel), [deferpanic](https://github.com/deferpanic), [cloudius systems](https://github.com/cloudius-systems), [mirageos](https://mirage.io) and [includeOS](http://www.includeos.org/).\n\n\u003c!--(for contributors): push images: CONTAINERVER=0.1 for i in $(docker images | grep projectunik/ | awk '{print $1}'); do docker push $i:$CONTAINERVER; done--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filackarms%2Funik","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filackarms%2Funik","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filackarms%2Funik/lists"}