node package manager


An Eclipse Orion server written in Node.js.


A minimal, single-user deployment of Eclipse Orion. Orion provides an extensible IDE that runs in your browser. It's particularly good for writing Javascript.


  • Basic file management
  • Source code editing
  • Install plugins to customize your environment
  • User preferences
  • Git support based on nodegit
  • Multi-user support (optional, requires MongoDB)


For full instructions, see the Getting Started guide.


  • Run npm install orion.
    • Or if you prefer, install from source: checkout the repo from GitHub or, then run cd modules/orionode && npm install.

Running the server

  1. Browse to the directory where you installed Orion, usually node_modules/orion/.
  2. Edit the orion.conf file. Uncomment the following line, replacing the password with something of your choice:

This prevents unauthorized access to your Orion server. 3. Run npm start orion or node [node_modules]/orion/server.js. 4. Go to http://localhost:8081 to use Orion. You will be prompted with a basic auth dialog; enter the password you chose earlier.

The port number can be changed by passing the --port argument or setting the PORT environment variable.

Global installation

If you installed Orion as a global package with npm install -g orion, you can run the command orion from any directory (rather than npm start orion as outlined above.) Orion will then start using your current directory (or a directory you specify on the command line) as the location. See the Getting Started guide for more details.

Multi-user server

By default the server runs in single-user mode. Set orion.single.user=false in the orion.conf file to enable multiple users. This requires a MongoDB installation.

Known Git issues

  • Cloning repos using the SSH protocol (ssh://) will not work out of the box due to a Nodegit issue. You can work around this by editing vendor/libgit2.gyp, obtaining a newer version of OpenSSL, and then rebuilding Nodegit from source.

Using Orion within a larger app

Use require('orion') to get access to our startServer function, which is suitable for use within a larger Express project:

var orion = require('orion');
var express = require('express');
var myapp = express()
            .use(orion({ workspaceDir: '.myworkspace' }))
            /* .use( additional handlers ) */

Running the tests

We use Mocha for our tests. Run npm test or mocha.


Dual-licensed under the Eclipse Public License v1.0 and the Eclipse Distribution License v1.0.