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.
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.
Right now it can
- Create new workspaces
- Launch multiple workspace instances
- Kill them automatically after 15 minutes
- List available workspaces
- Delete workspaces
- Manage multiple users
- Do authentication/sessions
- Sense, that you're active and will kill your workspace after 15-20 minutes of inactivity.
right now. These are the next steps for me to build (or you make a Pull Request with the features you want).
First you will need node.js, at least v0.8.
Then you can try the quick install or the manual way:
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.
- 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. - Then install Cloud9Hub into the parent folder above your cloud9 installation, so in my example
/var/awesomeness/cloud9hub` and run
npm install``.
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:
- Add your Github client ID and secret
- Change your BASE_URL to your server's address (do not include the port!)
You will need ports 3000 and 5000 to however many connections will be taking place concurrently (each session is given a different port)
If you wish to, you can run it as a daemon, so that it stays alive.
To do so, I recommend forever.
This project: MIT License, baby. Cloud9 itself: GPL
This is highly insecure, experimental and it may bite.