Giter Site home page Giter Site logo

cloud9hub's Introduction

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

  • 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).

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 run npm 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:

  • Add your Github client ID and secret
  • Change your BASE_URL to your server's address (do not include the port!)

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.

cloud9hub's People

Contributors

avgp avatar bryant1410 avatar calraiden avatar etodanik avatar harjot1singh avatar naufraghi avatar stealthdave avatar thoys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloud9hub's Issues

Setup w/out GitHub?

Perhaps this is partially covered in #6, but I am not sure.

I've never used Node either. I do not want to use GitHub login. I am trying to set this up behind my firewall at home. It is not on a publicly accessible server, so there is no callback URL possible.

I do not even care if there is a login at all. I'm just trying to see if I can get my Chromebook to be a useful development platform :-)

Can I turn off authentication completely or use .htpaccess or something like that? Any ideas?

Left panel too big

When are you working the left panel is to big, I suggest to make it resizable or to tranform in a left toolbar ;)

Dockerizing the cloud9hub app

Let me know I can help you in dockerizing the cloud9hub application. I would like to know if you need any help. I would like to contribute to the application. Let me know if i can help you anywhere like helping in better documentation. If there are any open issues, I would like to spend my time on it.

500 failed to fetch user profile

I followed your instructions but I get this error after going to myserver.my.server:3000 and clicking the "sign in with GitHub" link. Obviously I'm doing something wrong but I can't figure out what.

Express
500 failed to fetch user profile (status: 401 data: {"message":"Requires authentication","documentation_url":"http://developer.github.com/v3"})
at /home/jeff/cloud9/cloud9hub/node_modules/passport-github/lib/passport-github/strategy.js:90:28
at passBackControl (/home/jeff/cloud9/cloud9hub/node_modules/passport-github/node_modules/passport-oauth/node_modules/oauth/lib/oauth2.js:109:9)
at IncomingMessage. (/home/jeff/cloud9/cloud9hub/node_modules/passport-github/node_modules/passport-oauth/node_modules/oauth/lib/oauth2.js:128:7)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:920:16
at process._tickCallback (node.js:415:13)

When I setup the app in Github I wasn't sure what to put for "Authorization callback URL" so I put "myserver.my.server".

I don't know a whole lot about oAuth. if this is the issue can you please point me in the right direction?

404 & 304 errors

`a@a-virtual-machine:~/cloud9hub$ sudo node server.js -p 8080 -l 0.0.0.0 -a :
Express server listening on port 3105
GET / 302 3ms - 56b
GET /login 304 32ms
GET /lib/fontawesome/css/font-awesome.min.css 304 9ms
GET /lib/flat-ui-official/bootstrap/css/bootstrap.css 304 9ms
GET /lib/flat-ui-official/css/flat-ui.css 304 9ms
GET /css/style.css 404 9ms
GET /lib/flat-ui-official/js/jquery-1.8.3.min.js 304 9ms
GET /lib/flat-ui-official/js/jquery-ui-1.10.3.custom.min.js 304 8ms
GET /lib/flat-ui-official/js/jquery.ui.touch-punch.min.js 304 1ms
GET /lib/flat-ui-official/js/bootstrap.min.js 304 2ms
GET /lib/flat-ui-official/js/bootstrap-select.js 304 2ms
GET /lib/flat-ui-official/js/bootstrap-switch.js 304 2ms
GET /lib/flat-ui-official/js/flatui-checkbox.js 304 3ms
GET /lib/flat-ui-official/js/flatui-radio.js 304 2ms
GET /lib/flat-ui-official/js/jquery.tagsinput.js 304 1ms
GET /lib/flat-ui-official/js/jquery.placeholder.js 304 2ms
GET /lib/flat-ui-official/js/jquery.stacktable.js 404 1ms
GET /lib/angular/angular.min.js 304 1ms
GET /lib/angular-route/angular-route.min.js 304 1ms
GET /js/workspace/workspaceController.js 304 2ms
GET /js/workspace/workspaceModule.js 304 2ms
GET /js/app.js 304 2ms
GET /lib/flat-ui-official/fonts/lato/lato-bold.woff 304 1ms
GET /lib/fontawesome/fonts/fontawesome-webfont.woff?v=4.0.3 304 1ms
GET /lib/flat-ui-official/fonts/lato/lato-regular.woff 304 2ms
GET /auth/github 302 3ms - 378b
GET /auth/github/callback?code=02239fceb4fcf8ce8da7 302 2096ms - 68b
GET / 200 4ms - 1.71kb
GET /lib/fontawesome/css/font-awesome.min.css 304 8ms
GET /lib/flat-ui-official/bootstrap/css/bootstrap.css 304 6ms
GET /lib/flat-ui-official/css/flat-ui.css 304 6ms
GET /css/style.css 404 6ms
GET /lib/flat-ui-official/js/jquery-1.8.3.min.js 304 5ms
GET /lib/flat-ui-official/js/jquery-ui-1.10.3.custom.min.js 304 5ms
GET /lib/flat-ui-official/js/jquery.ui.touch-punch.min.js 304 3ms
GET /lib/flat-ui-official/js/bootstrap-select.js 304 2ms
GET /lib/flat-ui-official/js/bootstrap.min.js 304 1ms
GET /lib/flat-ui-official/js/bootstrap-switch.js 304 3ms
GET /lib/flat-ui-official/js/flatui-checkbox.js 304 2ms
GET /lib/flat-ui-official/js/flatui-radio.js 304 1ms
GET /lib/flat-ui-official/js/jquery.tagsinput.js 304 1ms
GET /lib/flat-ui-official/js/jquery.placeholder.js 304 1ms
GET /lib/flat-ui-official/js/jquery.stacktable.js 404 0ms
GET /lib/angular/angular.min.js 304 3ms
GET /lib/angular-route/angular-route.min.js 304 2ms
GET /js/workspace/workspaceController.js 304 2ms
GET /js/workspace/workspaceModule.js 304 1ms
GET /js/app.js 304 2ms
GET /lib/flat-ui-official/fonts/lato/lato-regular.woff 304 1ms
GET /partials/workspace.html 304 1ms
GET /workspace 200 4ms - 97b
GET /lib/flat-ui-official/fonts/lato/lato-bold.woff 304 2ms
setting nextFreeWorkspacePort to 5001
checking if port 5001 is taken
port 5001 seems to be available
Starting /home/a/cloud9hub/controllers/../../c9/bin/cloud9.sh for workspace Amirreza on port 5001
events.js:141
throw er; // Unhandled 'error' event
^

Error: spawn /home/a/cloud9hub/controllers/../../c9/bin/cloud9.sh ENOENT
at exports._errnoException (util.js:870:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at nextTickCallbackWith2Args (node.js:441:9)
at process._tickCallback (node.js:355:17)
`
I think cloud9hub cannot connect to cloud9
we have access to dashboard but not workspace..

Installation, bower and missing dependencies

Hello,

This practically reopens closed issues #8 and #9.

In the case of #8, yes - you caught it first ;-) But then fixed it at the wrong place. C9 does not have a bower.json file, and that is where you added the lines. More problematic is that the script attempts to install bower globally, which might not happen, if node.js is installed globally for all users, i.e. somewhere outside of your $HOME. bower complains if you run the script with sudo, unless you also add --allow-root. This is all I have on issue #8.

Issue #9. Bower starts the installation, but fails to find flat-ui-official. Here is the output:

ttodorov@cloud:~/work/cloud9hub$ bower install
bower not-cached git://github.com/angular/bower-angular.git#~1.2.15
bower resolve git://github.com/angular/bower-angular.git#~1.2.15
bower not-cached git://github.com/angular/bower-angular-route.git#~1.2.15
bower resolve git://github.com/angular/bower-angular-route.git#~1.2.15
bower not-cached git://github.com/FortAwesome/Font-Awesome.git#~4.0.3
bower resolve git://github.com/FortAwesome/Font-Awesome.git#~4.0.3
bower not-cached git://github.com/topcoat/topcoat.git#~0.8.0
bower resolve git://github.com/topcoat/topcoat.git#~0.8.0
bower download https://github.com/FortAwesome/Font-Awesome/archive/v4.0.3.tar.gz
bower download https://github.com/angular/bower-angular/archive/v1.2.26.tar.gz
bower download https://github.com/angular/bower-angular-route/archive/v1.2.26.tar.gz
bower download https://github.com/topcoat/topcoat/archive/v0.8.0.tar.gz
bower extract angular-route#~1.2.15 archive.tar.gz
bower invalid-meta angular-route is missing "ignore" entry in bower.json
bower resolved git://github.com/angular/bower-angular-route.git#1.2.26
bower extract angular#~1.2.15 archive.tar.gz
bower invalid-meta angular is missing "ignore" entry in bower.json
bower resolved git://github.com/angular/bower-angular.git#1.2.26
bower extract fontawesome#~4.0.3 archive.tar.gz
bower extract topcoat#~0.8.0 archive.tar.gz
bower invalid-meta topcoat is missing "main" entry in bower.json
bower invalid-meta topcoat is missing "ignore" entry in bower.json
bower resolved git://github.com/topcoat/topcoat.git#0.8.0
bower invalid-meta fontawesome is missing "main" entry in bower.json
bower invalid-meta fontawesome is missing "ignore" entry in bower.json
bower resolved git://github.com/FortAwesome/Font-Awesome.git#4.0.3
bower ENOTFOUND Package flat-ui-official not found

Is there a roadmap?

Hi,

I'm curious as to whether you're committing to this project and have plans for it or if it was just a bit of an experiment. Seems like it's a good start but there's definitely plenty of room for improvement, for example workspaces could be tied to github repos.

bower install missing

whoopsie, I just noticed that there's no bower install anywhere in the installation script. We need to add it, otherwise the frontend will be a bit messed up.

404 in referenced libraries flat-ui-official no longer exists?

Hi there, trying to install with install.sh script no functional UI? some files

$ node cloud9hub/server.js
Express server listening on port 3105
GET / 302 11ms - 68b
GET /login 200 50ms - 2.01kb
GET /lib/fontawesome/css/font-awesome.min.css 404 7ms
GET /lib/flat-ui-official/bootstrap/css/bootstrap.css 404 4ms
GET /lib/flat-ui-official/css/flat-ui.css 404 7ms
GET /css/style.css 404 4ms
GET /lib/flat-ui-official/js/jquery-1.8.3.min.js 404 1ms
GET /lib/flat-ui-official/js/jquery-ui-1.10.3.custom.min.js 404 2ms
GET /lib/flat-ui-official/js/jquery.ui.touch-punch.min.js 404 4ms
GET /lib/flat-ui-official/js/bootstrap.min.js 404 5ms
GET /lib/flat-ui-official/js/bootstrap-select.js 404 0ms
GET /lib/flat-ui-official/js/bootstrap-switch.js 404 1ms
GET /lib/flat-ui-official/js/flatui-checkbox.js 404 3ms
GET /lib/flat-ui-official/js/flatui-radio.js 404 1ms
GET /lib/flat-ui-official/js/jquery.tagsinput.js 404 1ms
GET /lib/flat-ui-official/js/jquery.placeholder.js 404 7ms
GET /lib/flat-ui-official/js/jquery.stacktable.js 404 2ms
GET /lib/angular/angular.min.js 404 1ms
GET /lib/angular-route/angular-route.min.js 404 2ms
GET /js/workspace/workspaceController.js 200 7ms - 2.73kb
GET /js/workspace/workspaceModule.js 200 6ms - 136b
GET /js/app.js 200 2ms - 265b
GET /auth/github 302 4ms - 392b
GET /auth/github/callback?code=aaf44a5db0307c64f9d1 302 1818ms - 80b
GET / 200 8ms - 1.71kb
GET /lib/fontawesome/css/font-awesome.min.css 404 1ms
GET /lib/flat-ui-official/bootstrap/css/bootstrap.css 404 3ms
GET /lib/flat-ui-official/css/flat-ui.css 404 2ms
GET /css/style.css 404 3ms
GET /lib/flat-ui-official/js/jquery-1.8.3.min.js 404 3ms
GET /lib/flat-ui-official/js/jquery-ui-1.10.3.custom.min.js 404 2ms
GET /lib/flat-ui-official/js/jquery.ui.touch-punch.min.js 404 1ms
GET /lib/flat-ui-official/js/bootstrap.min.js 404 1ms
GET /lib/flat-ui-official/js/bootstrap-select.js 404 8ms
GET /lib/flat-ui-official/js/bootstrap-switch.js 404 7ms
GET /lib/flat-ui-official/js/flatui-checkbox.js 404 6ms
GET /lib/flat-ui-official/js/flatui-radio.js 404 33ms
GET /lib/flat-ui-official/js/jquery.tagsinput.js 404 34ms
GET /lib/angular/angular.min.js 404 8ms
GET /lib/angular-route/angular-route.min.js 404 8ms
GET /js/workspace/workspaceController.js 304 9ms
GET /js/workspace/workspaceModule.js 304 11ms
GET /lib/flat-ui-official/js/jquery.placeholder.js 404 13ms
GET /lib/flat-ui-official/js/jquery.stacktable.js 404 12ms
GET /js/app.js 304 2ms
GET /lib/fontawesome/css/font-awesome.min.css 404 2ms
GET /lib/flat-ui-official/bootstrap/css/bootstrap.css 404 2ms
GET /lib/flat-ui-official/css/flat-ui.css 404 2ms
GET /css/style.css 404 1ms

below is the install output

$ ./install.sh

Installing Cloud9...

fatal: destination path 'c9' already exists and is not an empty directory.
npm WARN package.json [email protected] No repository field.

npm WARN package.json [email protected] 'repositories' (plural) Not supported. Please pick one as the 'repository' field

[email protected] postinstall /home/juanb/Desktop/tmp/ws/c9/node_modules/jsDAV/node_modules/gnu-tools
node ./install.js

path.existsSync is now called fs.existsSync.
Creating directory /home/juanb/Desktop/tmp/ws/c9/node_modules/jsDAV/node_modules/gnu-tools/bin
path.exists is now called fs.exists.
Grand, you've already got 'find' and 'grep' on your system.
Linking /usr/bin/find to /home/juanb/Desktop/tmp/ws/c9/node_modules/jsDAV/node_modules/gnu-tools/bin/find
Linking /bin/grep to /home/juanb/Desktop/tmp/ws/c9/node_modules/jsDAV/node_modules/gnu-tools/bin/grep

[email protected] postinstall /home/juanb/Desktop/tmp/ws/c9
make ace

cd node_modules/ace; make clean pre_build; ./Makefile.dryice.js minimal
make[1]: Entering directory /home/juanb/Desktop/tmp/ws/c9/node_modules/ace' rm -rf build rm -rf ace-* rm -f ace-*.tgz git rev-parse HEAD > .git-ref mkdir -p build/src mkdir -p build/demo/kitchen-sink mkdir -p build/textarea/src cp -r demo/kitchen-sink/styles.css build/demo/kitchen-sink/styles.css cp demo/kitchen-sink/logo.png build/demo/kitchen-sink/logo.png cp -r doc/site/images build/textarea make[1]: Leaving directory/home/juanb/Desktop/tmp/ws/c9/node_modules/ace'

  • Source without filename passed to moduleDefines(). Skipping addition of define(...) wrapper.

    ace modes ---------

    mode abap
    mode actionscript
    mode ada
    mode asciidoc
    mode assembly_x86
    mode autohotkey
    mode batchfile
    mode c9search
    mode c_cpp
    mode clojure
    mode cobol
    mode coffee
    mode coldfusion
    mode csharp
    mode css
    mode curly
    mode d
    mode dart
    mode diff
    mode django
    mode dot
    mode ejs
    mode erlang
    mode forth
    mode ftl
    mode glsl
    mode golang
    mode groovy
    mode haml
    mode haskell
    mode haxe
    mode html
    mode html_ruby
    mode ini
    mode jade
    mode java
    mode javascript
    mode json
    mode jsoniq
    mode jsp
    mode jsx
    mode julia
    mode latex
    mode less
    mode liquid
    mode lisp
    mode livescript
    mode logiql
    mode lsl
    mode lua
    mode luapage
    mode lucene
    mode makefile
    mode markdown
    mode matlab
    mode mushcode
    mode mushcode_high_rules
    mode mysql
    mode objectivec
    mode ocaml
    mode pascal
    mode perl
    mode pgsql
    mode php
    mode plain_text
    mode powershell
    mode prolog
    mode properties
    mode python
    mode r
    mode rdoc
    mode rhtml
    mode ruby
    mode rust
    mode sass
    mode scad
    mode scala
    mode scheme
    mode scss
    mode sh
    mode snippets
    mode sql
    mode stylus
    mode svg
    mode tcl
    mode tex
    mode text
    mode textile
    mode toml
    mode twig
    mode typescript
    mode vbscript
    mode velocity
    mode verilog
    mode xml
    mode xquery
    mode yaml

    ace themes ---------

    theme ambiance
    theme chaos
    theme chrome
    theme clouds
    theme clouds_midnight
    theme cobalt
    theme crimson_editor
    theme dawn
    theme dreamweaver
    theme eclipse
    theme github
    theme idle_fingers
    theme kr_theme
    theme merbivore
    theme merbivore_soft
    theme mono_industrial
    theme monokai
    theme pastel_on_dark
    theme solarized_dark
    theme solarized_light
    theme terminal
    theme textmate
    theme tomorrow
    theme tomorrow_night
    theme tomorrow_night_blue
    theme tomorrow_night_bright
    theme tomorrow_night_eighties
    theme twilight
    theme vibrant_ink
    theme xcode

    ace extensions ---------

    extensions elastic_tabstops_lite
    extensions emmet
    extensions keybinding_menu
    extensions language_tools
    extensions modelist
    extensions searchbox
    extensions settings_menu
    extensions spellcheck
    extensions split
    extensions static_highlight
    extensions statusbar
    extensions textarea
    extensions themelist
    extensions whitespace

    ace key bindings ---------

    ace worker ---------

    worker for coffee mode
    worker for css mode
    worker for javascript mode
    worker for json mode
    worker for lua mode
    worker for php mode
    worker for xquery mode
    --- Ace Dryice Build Tool ---

Options:
minimal Places necessary Ace files out in build dir; uses configuration flags below [default]
normal Runs four Ace builds--minimal, minimal-noconflict, minimal-min, and minimal-noconflict-min
demo Runs demo build of Ace
bm Runs bookmarklet build of Ace
full all of above
args:
--target ./path path to build folder
flags:
--h print this help
--m minify
--nc namespace require
--s shrinkwrap (combines all output files into one)

output generated in minimal/home/juanb/Desktop/tmp/ws/c9/node_modules/ace//home/juanb/Desktop/tmp/ws/c9/node_modules/ace/build
[email protected] node_modules/jsDAV
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
└── [email protected]
/home/juanb/meanstack-2.6.4-0/nodejs/bin/bower -> /home/juanb/meanstack-2.6.4-0/nodejs/lib/node_modules/bower/bin/bower
[email protected] /home/juanb/meanstack-2.6.4-0/nodejs/lib/node_modules/bower
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected])
[?] May bower anonymously report usage statistics to improve the tool over time? Yes
bower ENOENT No bower.json present
Success.

Installing Cloud9Hub...

fatal: destination path 'cloud9hub' already exists and is not an empty directory.
|

[email protected] install /home/juanb/Desktop/tmp/ws/cloud9hub/node_modules/grunt-sass/node_modules/node-sass
node build.js

linux-x64-v8-3.14 exists; testing

․․․․․․․․․․․․․․․․․․․․․․

22 passing (61ms)

Binary is fine; exiting
[email protected] node_modules/grunt-sass
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
Success.

Last steps

  1. Create a Github app.
  2. Copy cloud9hub/config.js.example to cloud9hub/config.js
  3. Edit your cloud9hub/config.js

Have a lot of fun!

Support multiple users at the same time.

Thanks for your great job first!

Is it possible to support multiple users at the same time?
What about terminal console?
How to separate different users' terminal console?

Regards
Simon

Installation issues - all resources in /lib/ return 404 errors

I just tried to install the latest source from Github, and every resource in /lib/ is returning a 404 error.

GET / 302 13ms - 68b
GET /login 200 592ms - 2.03kb
GET /js/workspace/workspaceController.js 200 30ms - 2.73kb
GET /lib/flat-ui-official/bootstrap/css/bootstrap.css 404 6ms
GET /lib/flat-ui-official/css/flat-ui.css 404 7ms
GET /lib/fontawesome/css/font-awesome.min.css 404 5ms
GET /css/style.css 404 3ms
GET /lib/flat-ui-official/js/jquery-1.8.3.min.js 404 6ms
GET /lib/flat-ui-official/js/jquery-ui-1.10.3.custom.min.js 404 3ms
GET /lib/flat-ui-official/js/bootstrap-select.js 404 15ms
GET /js/app.js 200 26ms - 265b
GET /lib/flat-ui-official/js/bootstrap-switch.js 404 2ms
GET /lib/flat-ui-official/js/flatui-checkbox.js 404 12ms
GET /lib/flat-ui-official/js/jquery.ui.touch-punch.min.js 404 7ms
GET /lib/flat-ui-official/js/flatui-radio.js 404 6ms
GET /lib/flat-ui-official/js/jquery.tagsinput.js 404 5ms
GET /lib/flat-ui-official/js/jquery.stacktable.js 404 24ms
GET /lib/angular-route/angular-route.min.js 404 20ms
GET /lib/angular/angular.min.js 404 15ms
GET /lib/flat-ui-official/js/bootstrap.min.js 404 15ms
GET /js/workspace/workspaceModule.js 200 26ms - 136b
GET /lib/flat-ui-official/js/jquery.placeholder.js 404 3ms
GET /auth/github 302 5ms - 426b
GET /auth/github/callback?code=f624578722349772435a 302 781ms - 80b
GET / 200 9ms - 1.73kb
GET /lib/fontawesome/css/font-awesome.min.css 404 4ms
GET /lib/flat-ui-official/bootstrap/css/bootstrap.css 404 3ms
GET /js/workspace/workspaceModule.js 304 4ms
GET /js/app.js 304 9ms
GET /lib/flat-ui-official/css/flat-ui.css 404 2ms
GET /js/workspace/workspaceController.js 304 1ms
GET /css/style.css 404 3ms
GET /lib/flat-ui-official/js/jquery-1.8.3.min.js 404 2ms
GET /lib/flat-ui-official/js/jquery-ui-1.10.3.custom.min.js 404 1ms
GET /lib/flat-ui-official/js/jquery.ui.touch-punch.min.js 404 1ms
GET /lib/flat-ui-official/js/bootstrap-select.js 404 1ms
GET /lib/flat-ui-official/js/bootstrap.min.js 404 5ms
GET /lib/flat-ui-official/js/bootstrap-switch.js 404 2ms
GET /lib/flat-ui-official/js/flatui-checkbox.js 404 1ms
GET /lib/flat-ui-official/js/jquery.tagsinput.js 404 5ms
GET /lib/flat-ui-official/js/flatui-radio.js 404 3ms
GET /lib/flat-ui-official/js/jquery.placeholder.js 404 2ms
GET /lib/flat-ui-official/js/jquery.stacktable.js 404 3ms
GET /lib/angular/angular.min.js 404 3ms
GET /lib/angular-route/angular-route.min.js 404 4ms
GET / 200 3ms - 1.73kb
GET /lib/fontawesome/css/font-awesome.min.css 404 2ms
GET /lib/flat-ui-official/bootstrap/css/bootstrap.css 404 3ms
GET /lib/flat-ui-official/css/flat-ui.css 404 8ms
GET /js/workspace/workspaceController.js 304 6ms
GET /js/app.js 304 4ms
GET /js/workspace/workspaceModule.js 304 5ms
GET /css/style.css 404 6ms
GET /lib/flat-ui-official/js/jquery-1.8.3.min.js 404 3ms
GET /lib/flat-ui-official/js/jquery-ui-1.10.3.custom.min.js 404 4ms
GET /lib/flat-ui-official/js/jquery.ui.touch-punch.min.js 404 3ms
GET /lib/flat-ui-official/js/bootstrap.min.js 404 2ms
GET /lib/flat-ui-official/js/bootstrap-select.js 404 1ms
GET /lib/flat-ui-official/js/bootstrap-switch.js 404 2ms
GET /lib/flat-ui-official/js/flatui-checkbox.js 404 1ms
GET /lib/flat-ui-official/js/flatui-radio.js 404 5ms
GET /lib/flat-ui-official/js/jquery.tagsinput.js 404 6ms
GET /lib/flat-ui-official/js/jquery.placeholder.js 404 5ms
GET /lib/flat-ui-official/js/jquery.stacktable.js 404 4ms
GET /lib/angular/angular.min.js 404 4ms
GET /lib/angular-route/angular-route.min.js 404 3ms

Both the Quick Install and the Manual Install result in the same issue. There were no errors reported in the installation, but there were a number of warnings:

...
npm http 304 https://registry.npmjs.org/send/0.1.0
npm http 304 https://registry.npmjs.org/connect/2.7.11npm WARN package.json [email protected] No README.md file found!
...
npm http 304 https://registry.npmjs.org/eyes
npm http 304 https://registry.npmjs.org/sax
npm WARN prefer global [email protected] should be installed with -g
...
npm http 304 https://registry.npmjs.org/tunnel-agent
npm http 304 https://registry.npmjs.org/json-stringify-safe
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
...
npm http 304 https://registry.npmjs.org/sntp
npm http 304 https://registry.npmjs.org/boom
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm http GET https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/wordwrap
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm http GET https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/sigmund
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
...
npm http 304 https://registry.npmjs.org/qs
npm http 304 https://registry.npmjs.org/json-stringify-safe
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
...
npm http 304 https://registry.npmjs.org/cryptiles
npm http 304 https://registry.npmjs.org/hoek
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.15","npm":"1.2.18"})
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/amdefine
npm WARN prefer global [email protected] should be installed with -g
...
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/jade/0.26.3
npm WARN package.json [email protected] No README.md file found!
...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.