You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: examples/Notebook/Running the Notebook Server.ipynb
+126-7Lines changed: 126 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -315,6 +315,24 @@
315
315
"```"
316
316
]
317
317
},
318
+
{
319
+
"cell_type": "markdown",
320
+
"metadata": {},
321
+
"source": [
322
+
"## Known issues"
323
+
]
324
+
},
325
+
{
326
+
"cell_type": "markdown",
327
+
"metadata": {},
328
+
"source": [
329
+
"When behind a proxy, especially if your system or browser is set to autodetect the proxy, the notebook web application might fail to connect to the server's websockets, and present you with a warning at startup. In this case, you need to configure your system not to use the proxy for the server's address.\n",
330
+
"\n",
331
+
"For example, in Firefox, go to the Preferences panel, Advanced section,\n",
332
+
"Network tab, click 'Settings...', and add the address of the notebook server\n",
333
+
"to the 'No proxy for' field."
334
+
]
335
+
},
318
336
{
319
337
"cell_type": "markdown",
320
338
"metadata": {},
@@ -340,22 +358,123 @@
340
358
"cell_type": "markdown",
341
359
"metadata": {},
342
360
"source": [
343
-
"## Known issues"
361
+
"# Multi-User Notebook Servers"
344
362
]
345
363
},
346
364
{
347
365
"cell_type": "markdown",
348
366
"metadata": {},
349
367
"source": [
350
-
"When behind a proxy, especially if your system or browser is set to autodetect the proxy, the notebook web application might fail to connect to the server's websockets, and present you with a warning at startup. In this case, you need to configure your system not to use the proxy for the server's address.\n",
368
+
"## JupyterHub"
369
+
]
370
+
},
371
+
{
372
+
"cell_type": "markdown",
373
+
"metadata": {},
374
+
"source": [
375
+
"JupyterHub is a multi-user server that manages and proxies multiple instances of the single-user IPython/Jupyter Notebook server.\n",
351
376
"\n",
352
-
"For example, in Firefox, go to the Preferences panel, Advanced section,\n",
353
-
"Network tab, click 'Settings...', and add the address of the notebook server\n",
"* Proxy forwards ~all requests to hub by default\n",
404
+
"* Hub handles login, and spawns single-user servers on demand\n",
405
+
"* Hub configures proxy to forward url prefixes to single-user servers\n"
406
+
]
407
+
},
408
+
{
409
+
"cell_type": "markdown",
410
+
"metadata": {},
411
+
"source": [
412
+
"## Authentication models\n",
413
+
"\n",
414
+
"* PAM/Unix (Default)\n",
415
+
"* [GitHub OAuth](https://github.com/jupyter/oauthenticator) - Demo at demohub.jupyter.org\n",
416
+
"\n",
417
+
"This is extensible enough to implement other authentication methods, the simplest being any involving OAuth (follow the GitHub OAuthenticator for a skeleton)."
418
+
]
419
+
},
420
+
{
421
+
"cell_type": "markdown",
422
+
"metadata": {},
423
+
"source": [
424
+
"## Spawners\n",
425
+
"\n",
426
+
"By default, notebook servers are spawned in the context of the user as a process on the host machine. One alternative for spawning is the [DockerSpawner](https://github.com/jupyter/dockerspawner) which runs each user in their own environment inside a Docker container.\n"
427
+
]
428
+
},
429
+
{
430
+
"cell_type": "markdown",
431
+
"metadata": {},
432
+
"source": [
433
+
"## Real world implementations of JupyterHub\n",
434
+
"\n",
435
+
"The Computational Models class at UC Berkeley ran a JupyterHub installation for ~220 students in Winter/Spring of 2015.\n",
436
+
"\n",
437
+
"* Docker Spawner\n",
438
+
"* Multiple compute nodes\n",
439
+
"* GitHub Authentication\n",
440
+
"* NFS backed for student data, assignments, notebooks, etc.\n",
"tmpnb is a temporary notebook system. Visit [try.jupyter.org](https://try.jupyter.org) for a demo.\n",
452
+
"\n",
453
+
"Similar to JupyterHub with the DockerSpawner, tmpnb uses a proxy to route to notebook servers. The difference is that there is no login and notebook servers get deleted after a period of (configurable) inactivity.\n",
0 commit comments