Getting started
A cloud computing environment for ESPM courses and research, with R, Python and common data science tools already installed. It runs on the National Research Platform (NRP).
Signing in
- Go to
espm.nrp-nautilus.io. - When asked for an identity provider, choose University of California, Berkeley and sign in with CalNet.
- You'll see a page of options. Pick what you need (see below) and press Start.
Starting a server usually takes under a minute. The first start on a new machine, or after an image update, can take several minutes while the software downloads. Leave the tab open while it loads.
Choosing options
Interface
This choice only sets which interface opens first. The standard environments include all
three: change the end of the URL to /rstudio, /vscode or /lab to switch.
- RStudio: the default.
- VS Code: a full code editor in the browser. This is where the Kilo Code AI assistant lives.
- JupyterLab: notebooks, terminals and a file browser.
Environment
| Option | Use it for |
|---|---|
| rocker/ml (CPU) | The default. R, Python, geospatial tools and AI coding assistants. Pick this unless you know you need something else. |
| SpeciesNet (GPU) | Camera-trap and computer-vision work. Requests a GPU. |
| rocker/cuda (GPU) | General GPU machine learning. Requests a GPU. |
| Rocker ML spatial | The upstream geospatial image, without our additions. |
| Custom image | Any public Docker image that includes jupyterhub-singleuser. |
GPUs are shared across the whole platform. Only choose a GPU environment if your code actually uses one. GPU servers may take longer to start while the platform finds a free GPU.
Resource allocation
Choose 8, 16, 32, 64 or 128 GB of memory; the larger options also give you more CPU cores. Start with the default 8 GB. If your work runs out of memory (an R session or Python kernel suddenly restarts), stop the server and start it again with more.
Your files
Only your home directory is saved. Anything in /home/jovyan
(the folder you start in) survives restarts. Everything else resets each time your server starts.
- Your home directory holds 15 GB. Keep large datasets in cloud storage and read them from there instead of copying them in.
- Installed packages don't persist.
pip installandinstall.packages()put packages into the system environment, not your home directory, so they're gone after a restart. Keep arequirements.txtor an install script in your project and re-run it. - Your home directory is tied to your Berkeley email address, so it's the same in every course that uses this hub.
Idle shutdown
Servers that have been idle for about an hour are shut down automatically to free resources for others. Your files in the home directory are kept; unsaved work in open editors and anything running in memory is lost. Save often.
You can also stop your server yourself: in JupyterLab use File → Hub Control Panel →
Stop My Server, or visit /hub/home.
Stopping and starting again is the fix for many problems.
Using GitHub
To push to GitHub from the hub, get short-lived credentials by running this in a terminal:
gh-scoped-creds
It prints a code and a link. Open the link, enter the code, and approve. The first time, you also need to install the app and choose which repositories it can access. The credentials last 8 hours; run the command again when pushes start failing.