{"action":"opened","issue":{"url":"https://api.github.com/repos/radiasoft/containers/issues/20","repository_url":"https://api.github.com/repos/radiasoft/containers","labels_url":"https://api.github.com/repos/radiasoft/containers/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/radiasoft/containers/issues/20/comments","events_url":"https://api.github.com/repos/radiasoft/containers/issues/20/events","html_url":"https://github.com/radiasoft/containers/issues/20","id":146791079,"number":20,"title":"jupyterhub image testing","user":{"login":"robnagler","id":5495179,"avatar_url":"https://avatars.githubusercontent.com/u/5495179?v=3","gravatar_id":"","url":"https://api.github.com/users/robnagler","html_url":"https://github.com/robnagler","followers_url":"https://api.github.com/users/robnagler/followers","following_url":"https://api.github.com/users/robnagler/following{/other_user}","gists_url":"https://api.github.com/users/robnagler/gists{/gist_id}","starred_url":"https://api.github.com/users/robnagler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robnagler/subscriptions","organizations_url":"https://api.github.com/users/robnagler/orgs","repos_url":"https://api.github.com/users/robnagler/repos","events_url":"https://api.github.com/users/robnagler/events{/privacy}","received_events_url":"https://api.github.com/users/robnagler/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-04-08T01:59:41Z","updated_at":"2016-04-08T01:59:41Z","closed_at":null,"body":"In order to create a JupyterHub image which satisfies our needs, we need to figure out how to do\r\nthe following:\r\n\r\n- [] Configure basic JupyterHub and work around bugs (e.g. jupyter/jupyterhub#181)\r\n- [] JupyterHub with an nginx proxy \r\n- [] DockerSpawner locally\r\n- [] DockerSpawner remotely \r\n- [] Mount shared volume for homes\r\n- [] GitHub OAuth\r\n- [] Db persistence (sqlite or postgres?)\r\n- [] Creating users dynamically\r\n\r\nThere are a number of issues with the way JupyterHub works, including a fixed user whitelist. We'll need to dynamically append to the whitelist and add the users to JupyterHub.\r\n\r\nProbably he biggest issue is that there doesn't appear to be automatic garbage collection on Jupyter servers. There is no \"persist container\" with the DockerSpawner.\r\n"}}