JupyterLab

container Development / Tools

Python notebooks in the browser for poking at data and plotting it, with a terminal alongside. It's Jupyter's scipy-notebook image, so pandas, NumPy, matplotlib and scikit-learn come installed.

Install JupyterLab

It isn't in the main Portainer Templates list yet, so use this one. Portainer takes one URL at a time, so it swaps out whatever list you had before.

In Portainer, head to Settings --> App Templates, paste this in as the URL and save.

https://raw.githubusercontent.com/NotAFlightRisk/portainer-templates-extras/main/templates.json
  1. Open App Templates and pick JupyterLab.
  2. The form works as it comes, so change only what you want to.
  3. Hit Deploy the container, then open http://<your-server>:8888 in a browser.

Before you start

Open http://<your-host>:8888. It asks for a token, which is in the container's logs (the link ending /lab?token=...). Put that token and a new password into Setup a Password underneath, and you'll log in with the password from then on - otherwise the token changes on every restart. Whoever logs in gets a terminal inside the container, so keep it off the open internet unless it's behind HTTPS. Your notebooks, settings, password and anything you pip install --user live in the home folder volume. A plain pip install goes into the image and is gone after an update. Docs: jupyter-docker-stacks.readthedocs.io

Ports and storage

Change the left side of a port if it clashes with something else on your server. The volumes are where the data lives, so keep them when you update.

On your serverIn the container
88888888/tcp
jupyterlab-jovyan/home/jovyan

More apps