CyberChef
Web app for encoding, decoding, encrypting, compressing and picking apart data, by chaining hundreds of small operations into a recipe.
Security / 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.
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 http://<your-server>:8888 in a browser.Save this as compose.yml, then run docker compose up -d next to it.
services:
jupyterlab:
image: quay.io/jupyter/scipy-notebook:latest
container_name: jupyterlab
restart: unless-stopped
ports:
- 8888:8888
volumes:
- jupyterlab-jovyan:/home/jovyan
volumes:
jupyterlab-jovyan:
Or skip the file and start it with one command.
docker run -d \
--name jupyterlab \
--restart unless-stopped \
-p 8888:8888 \
-v jupyterlab-jovyan:/home/jovyan \
quay.io/jupyter/scipy-notebook:latest 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
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 server | In the container |
|---|---|
8888 | 8888/tcp |
jupyterlab-jovyan | /home/jovyan |