jupyter ======= Minimal Jupyter Notebook Stack ## docker-compose.yml [how to select an image](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html) ```yaml version: "3.8" services: notebook: image: jupyter/minimal-notebook ports: - "8888:8888" volumes: - ./data:/home/jovyan restart: unless-stopped ``` ## up and running ```bash $ cd ~/fig/jupyter/ $ mkdir -p data/.jupyter $ chown -R 1000:100 data $ docker-compose up -d $ curl http://127.0.0.1:8888 ``` ## reset password ```bash $ docker-compose exec notebook bash >>> jupyter notebook password Enter password: ****** Verify password: ****** [NotebookPasswordApp] Wrote hashed password to /home/jovyan/.jupyter/jupyter_notebook_config.json $ docker-compose restart ``` ## without password File: ./data/.jupyter/jupyter_notebook_config.json ```json { "NotebookApp": { "token": "", "password": "", "disable_check_xsrf": true } } ``` ## kill idle kernels (1 week ago) ```bash curl -s "http://127.0.0.1:8888/api/kernels" | jq -r '.[]|select(now - (.last_activity|sub("\\..*Z";"Z")|fromdateiso8601) > 3600*24*7 and .connections==0).id' | while read kid; do curl -s -w '\n' -X DELETE "http://127.0.0.1:8888/api/kernels/$kid"; done ``` ## nginx config -