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

Improve documentation around when / how to create your own environment #273

Closed
3 tasks
Tracked by #274
choldgraf opened this issue Feb 25, 2021 · 2 comments
Closed
3 tasks
Tracked by #274
Labels
Enhancement An improvement to something or creating something new.

Comments

@choldgraf
Copy link
Member

choldgraf commented Feb 25, 2021

Background

Most administrators of a hub expect to be able to define their own environment (either for themselves or for their users). Currently, we have a few recommendations for customizing the environment, but this documentation could be improved. We should make it clear the recommendations for how people can customize their environments.

Here are a few scenarios to consider and document, in decreasing order of priority (so most-recommended first).

via pip installs in the notebooks

  • Either by putting them in the first cell of notebooks
  • Or asking administrators to put a requirements.txt in shared_readwrite that then gets referenced in user notebooks etc
  • CH: could we somehow allow conda to discover environments that were present in ~/shared?
  • Perhaps we can document a few patterns they could follow here...

via a custom Docker image for the hub

Some things we might want to cover:

  • Brief idea of "what is Docker, images, etc"
  • Scenarios that mean a person needs to create their own image
  • Point to guides to use things like the repo2docker-action so people will be able to more easily update environments
  • Considerations for data / keys / license files etc (things to access sensitive data)

We should also decide when the amount of customizations they request is enough to warrant a more complex hub at a higher price.

via changes to the base environment for all hubs

Finally, users can request that we change the base environment for all hubs. However, this is a highly non-scalable approach and is a long-term anti-pattern (the environments for base hubs should be chosen based on what we think is the "best" environment for a particular use-case, not based on what users happen to request).

Expected timeline

2 months or so. We could make quick progress now, but will also need to update this as we learn more while more people have to create their own images. We may also need to update as the technology changes.

Steps to complete this goal

  • Take a pass at our current documentation to improve the reasoning etc behind environment generation
  • Have some users try it out, give feedback
  • Wait and watch, see if this continues to be unclear (if we continue getting questions about it) and add docs as needed
@yuvipanda
Copy link
Member

I opened jupyterhub/repo2docker-action#60 to document how to use quay.io with jupyter-repo2docker. 2i2c-org/docs#55 has an environment page with the three options discussed here.

@choldgraf choldgraf added Enhancement An improvement to something or creating something new. and removed type: goal labels Apr 15, 2021
@choldgraf
Copy link
Member Author

I believe this is now completed by 2i2c-org/docs#55 and is in our Hub Administrator's guide

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement An improvement to something or creating something new.
Projects
None yet
Development

No branches or pull requests

2 participants