Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dockerizing the cloud9hub app #19

Open
MezzLabs opened this issue Mar 18, 2015 · 2 comments
Open

Dockerizing the cloud9hub app #19

MezzLabs opened this issue Mar 18, 2015 · 2 comments

Comments

@MezzLabs
Copy link

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.

@AVGP
Copy link
Owner

AVGP commented Mar 25, 2015

Hey, thank you very much for this! I really appreciate any help, as I'm not having the amount of time available that I'd like to have for this at the moment.

If you look at https://github.com/AVGP/cloud9hub/blob/master/controllers/workspaces.js you'll see that cloud9hub, as of today, basically starts the cloud9.sh (https://github.com/AVGP/cloud9hub/blob/master/controllers/workspaces.js#L151) on a free port.

That's very crude.

What I'd ideally like is something like this:

  • user creates a new workspace or clicks to start an existing one
  • cloud9hub starts the corresponding container or creates one, if this is a new workspace
  • the started container is registered in etcd (e.g. /workspaces/user_id/workspace_name)
  • the etcd keys are watched by confd and a reverse proxy is updated, so the workspace can be exposed under a user-friendly URL (e.g. http://c9.site.com/user_id/workspace_name)

The whole Docker-etcd-confd-haproxy (as an example of a reverse proxy) has been documented here so that isn't very hard to do.

It would need a bit of rewriting of the workspace controller, I guess?

What do you think?

@MezzLabs
Copy link
Author

I will start working on points 1 and 2. I will have to spend sometime on understanding etcd and confd. Thanks for such clear instructions. I will go through the link as a starting point and build my knowledge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants