Minimal Jupyter Notebook Stack
version: "3.8"
services:
notebook:
image: jupyter/minimal-notebook
ports:
- "8888:8888"
volumes:
- ./data:/home/jovyan
restart: unless-stopped
$ cd ~/fig/jupyter/
$ mkdir -p data/.jupyter
$ chown -R 1000:100 data
$ docker-compose up -d
$ curl http://127.0.0.1:8888
$ 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
File: ./data/.jupyter/jupyter_notebook_config.json
{
"NotebookApp": {
"token": "",
"password": "",
"disable_check_xsrf": true
}
}
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