AVGP / cloud9hub

A workspace dashboard for Cloud9
97 stars 47 forks source link

Cloud9Hub

What's this?

It's a simple interface for the Cloud 9 open source edition to easily create, use and manage multiple workspaces. The Cloud9 service has a shiny and awesome dashboard interface where you can manage multiple workspaces, however the open source edition is a single workspace instance of Cloud9.

As I like the possibility to easily start working on different workspaces, create or delete them, I created Cloud9Hub to do so.

What's Cloud9?

A full-blown IDE in your browser. It has a full terminal integration, can run and deploy code of different languages (e.g. Ruby, node.js, PHP) and lots more.

Status Quo of Cloud9Hub

Right now it can

right now. These are the next steps for me to build (or you make a Pull Request with the features you want).

Installation

First you will need node.js, at least v0.8.

Then you can try the quick install or the manual way:

Quick install

curl https://raw.githubusercontent.com/AVGP/cloud9hub/master/install.sh | sh

This should install Cloud9 and Cloud9Hub into the current folder. If this succeeded, you can now go to the configuration section.

Manual installation

  1. Install Cloud9 into some folder, say /var/awesomeness/cloud9. **Note, the cloud9 is currently hardcoded to c9. when cloning cloud9, clone to c9 dir. If this isn't done, hub will crash.
  2. Then install Cloud9Hub into the parent folder above your cloud9 installation, so in my example/var/awesomeness/cloud9hub` and runnpm install``.

Configuration

First things first: You need a Github application to provide the "Login with Github" feature, which is currently the only login mechanism.

Go to https://github.com/settings/applications/new and create a new application. Note down the client ID and secret, you'll need them later.

Now copy the config.js.example to config.js and edit the contents:

Firewall

You will need ports 3000 and 5000 to however many connections will be taking place concurrently (each session is given a different port)

Running as a daemon

If you wish to, you can run it as a daemon, so that it stays alive.

To do so, I recommend forever.

License

This project: MIT License, baby. Cloud9 itself: GPL

WARNING

This is highly insecure, experimental and it may bite.