# Recommendations for JupyterHub "stacks" + hosting for students

**URL:** <https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223>\
**Category:** New to Julia\
**Tags:** jupyter, juliabox\
**Created:** [November 21, 2017, 5:41pm UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223 "2017-11-21T17:41:45Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![jlperla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlperla/32/34332_2.png) [@jlperla](https://discourse.julialang.org/u/jlperla)\
**Post date:** [November 21, 2017, 5:41pm UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/1 "2017-11-21T17:41:46Z")

</div>

I am planning to teach Julia to a bunch of grad and undergraduate students, and wanted to make their life easier by recommending (and potentially setting up) Jupyter on servers. They have slightly different needs, but I wanted to get any current thoughts:

- **Undergraduates:** I want to suggest using something on the web. Is [JuliaBox.com](http://JuliaBox.com) still the best option for this? Is it stable enough for students to rely on it to do basic computational homeworks (say nothing taking more than a minute or two to run)? I realize nobody can promise particular uptimes, but if it goes down frequently I would prefer not to suggest it.
- **Graduates:** We have a server setup for the graduate students, and I wanted to get jupyterhub setup
  - One consideration is that our linux administrator has limited experience with this sort of stuff (e.g. doesn’t know about docker, etc.)
  - Is there a preferred pre-built docker stack (or something equivalent) with easy enough setup instructions that has a pre-built Julia 0.6 kernel, basic JupyterHub installation, etc.? I have found [https://github.com/felipenoris/math-server-docker](https://github.com/felipenoris/math-server-docker) and a few others, but tough to figure out which one would be the best.

---

<div class="post-metadata">

**Author:** ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)\
**Post date:** [November 21, 2017, 6:43pm UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/2 "2017-11-21T18:43:14Z")

</div>

You should use the new version of Juliabox [https://next.juliabox.com](https://next.juliabox.com) . It’s reasonably stable, and email us at [juliabox@juliacomputing.com](mailto:juliabox@juliacomputing.com) if you have any issues.

---

<div class="post-metadata">

**Author:** ![jlperla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlperla/32/34332_2.png) [@jlperla](https://discourse.julialang.org/u/jlperla)\
**Post date:** [November 21, 2017, 6:56pm UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/3 "2017-11-21T18:56:54Z")

</div>

Thanks so much. Though I am getting a `Sorry, an unexpected error occured. Please try after some time.` error right now 🙂 after it fails at the “Preparing your notebook.Please Wait.” stage.

Is the link address for the new version permanent at [https://next.juliabox.com/](https://next.juliabox.com/) permanent, or is it likely to change in the next few months? (I am writing up instructions/etc. for a January class.)

---

<div class="post-metadata">

**Author:** ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)\
**Post date:** [November 21, 2017, 8:18pm UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/4 "2017-11-21T20:18:45Z")

</div>

Ouch, the spirit of Murphy is strong now! You must believe me when I say that this is the first outage report in about a week.

It should be fine now. It was down for about an hour, since there were some issues with Azure storage which caused us to go down. So yeah, typically, outages are taken care of reasonably quickly, usually in a few hours.

That url will be permanent. At some point, [www.juliabox.com](http://www.juliabox.com) will also redirect to the new version, but the exisiting [https://next.juliabox.com](https://next.juliabox.com) url will continue to work.

---

<div class="post-metadata">

**Author:** ![jlperla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlperla/32/34332_2.png) [@jlperla](https://discourse.julialang.org/u/jlperla)\
**Post date:** [November 21, 2017, 8:34pm UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/5 "2017-11-21T20:34:55Z")

</div>

I believe you! Works now. For the instructions, it sounds like I also need to tell students NOT to use `Pkg.add("...")` but instead to add with the Packages interface, and then hit “Start” to build the new image? Are there any other important gotchas.

When I asked someone else about this, he told me JuliaBox was fine for most needs, but that “_the main troubles I had with it were the plotting system, but blowing away the user .julia directory was usually a workable solution_.” Is that still an issue, and, if so, is there a page I can point students to for instructions on these sorts of workarounds?

For grad students, I still would prefer to have a JupyterHub installation (if you have any ideas on that).

---

<div class="post-metadata">

**Author:** ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)\
**Post date:** [November 25, 2017, 6:19pm UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/6 "2017-11-25T18:19:02Z")

</div>

Yes, please do not use `Pkg.add()`, use the package management UI if necessary. Plots.jl with GR, Plotly and PyPlot backends, along with Gadfly, are installed by default, and should be available to all users. You should not try install any of the plottting packages yourself.

---

<div class="post-metadata">

**Author:** ![djsegal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djsegal/32/13752_2.png) [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Post date:** [November 25, 2017, 11:27pm UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/7 "2017-11-25T23:27:55Z")

</div>

Two questions:

- Is there enough storage space for the DiffEq ecosystem?
- is there an easy way to wipe your data (i.e. to do a hard restart)

On the last verison of JuliaBox I ran out of space pretty often and had to make new accounts (with different github, linkedin, and gmail profiles).

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [November 26, 2017, 12:01am UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/8 "2017-11-26T00:01:47Z")

</div>

> [@djsegal](#):
>
> Is there enough storage space for the DiffEq ecosystem?

Grab the pieces like OrdinaryDiffEq.jl or StochasticDiffEq.jl in the meantime. The main issue is actually just old animations stored in the metapackage’s history that cannot be deleted because of Pkg2 issues. But Pkg3 will allow us to finally fix this:

> <https://github.com/SciML/DifferentialEquations.jl/issues/107#issuecomment-341302228>
>
> The repository was 750MB. It was pruned down to 250MB, but since this package is… now less than 10 lines on master (and will be tagged soon), it's less than ideal that its folder is that large. The documentation was moved to DiffEqDocs, DiffEqTutorials, and DiffEqBenchmarks. The vast majority of the extra stuff is buildup due to these notebooks and pictures. I would like to clean these out of the repository since this will not break previous versions but reduce the size to something much more manageable.
> 
> However, from the previous mistake (https://github.com/JuliaLang/METADATA.jl/pull/6963#issuecomment-258666169) it's clear that doing this kind of cleaning will change the SHA1s. Thus for this to really work, I will need to put in a METADATA PR changing the SHA1s in the previous tags. 
> 
> @tkelman

---

<div class="post-metadata">

**Author:** ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)\
**Post date:** [November 26, 2017, 10:51am UTC](https://discourse.julialang.org/t/recommendations-for-jupyterhub-stacks-hosting-for-students/7223/9 "2017-11-26T10:51:51Z")

</div>

The new version has 2Gb persistent storage for all users. This is mounted on `/mnt/juliabox`, so delete under that for a hard restart.
