Project is not maintained, use at your own risk #
There is a project at runtimejs-comm/runtime that is looking to continue by maintaining a fork. Visit the repository on Github for more details.
runtime.js #
runtime.js is an open-source library operating system (unikernel) for the cloud that runs JavaScript, can be bundled up with an application and deployed as a lightweight and immutable VM image.
It's built on V8 JavaScript engine and uses event-driven and non-blocking I/O model inspired by Node.js. At the moment KVM is the only supported hypervisor.
It tries to be compatible with npm module ecosystem and supports some of the Node.js API.
WARNING: project is in development and not ready for production use.
Installation #
First thing is the command line tool runtime-cli, it will add runtime command to the shell. Type runtime to get full usage help.
npm install runtime-cli -g
Make sure QEMU is installed, it enables running applications locally.
brew install qemu # OSX
sudo apt-get install qemu # Ubuntu
Getting Started #
Create new project and add index.js entry point file:
mkdir project
cd project
npm init
npm install runtimejs --save
echo "console.log('ok')" > index.js
Run project locally in QEMU:
runtime start
That's it, it should start and print ok in the console.
Optionally you can let it watch directory for changes and restart QEMU automatically:
runtime watch
How does it work? #
There are two main components: operating system kernel and a JavaScript library.
The kernel is written in C++ and manages low-level resources like CPU and memory, runs JavaScript using embedded V8 engine. Library drives the entire system and manages hardware devices (usually virtualized by hypervisor).
Docs #
Community #
Modules and projects developed by the community for runtime.js
License #
Apache License, Version 2.0