From 9efb299ac74732200377fd50762fca9c7d659770 Mon Sep 17 00:00:00 2001 From: Maarten Siersema <35061980+MaartenSiersema@users.noreply.github.com> Date: Fri, 19 Jun 2020 17:45:16 +0200 Subject: [PATCH] Added JupyterLab one-click-app configuration (#190) --- public/v2/apps/jupyter-lab.json | 39 ++++++++++++++++++++++++++++++++ public/v2/logos/jupyter-lab.png | Bin 0 -> 9350 bytes 2 files changed, 39 insertions(+) create mode 100644 public/v2/apps/jupyter-lab.json create mode 100644 public/v2/logos/jupyter-lab.png diff --git a/public/v2/apps/jupyter-lab.json b/public/v2/apps/jupyter-lab.json new file mode 100644 index 0000000..f61f771 --- /dev/null +++ b/public/v2/apps/jupyter-lab.json @@ -0,0 +1,39 @@ +{ + "captainVersion": "2", + "documentation": "Read more at: https://jupyter-docker-stacks.readthedocs.io/", + "displayName": "JupyterLab", + "description": "JupyterLab is the next-generation user interface for Project Jupyter. It offers all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface.", + "dockerCompose": { + "version": "3.3", + "services": { + "$$cap_appname": { + "containerHttpPort": "8888", + "dockerfileLines": [ + "FROM jupyter/datascience-notebook:9f9e5ca8fe5a", + "RUN pip install lxml", + "RUN jupyter notebook --generate-config", + "RUN echo 'c.NotebookApp.token = \"$$cap_jupyter_default_token\"' >> /home/jovyan/.jupyter/jupyter_notebook_config.py", + "EXPOSE 8888" + ], + "restart": "always", + "environment": { + "JUPYTER_ENABLE_LAB": "yes" + }, + "volumes":[ + "$$cap_appname:/home/jovyan/" + ] + } + } + }, + "instructions": { + "start": "JupyterLab is the next-generation user interface for Project Jupyter.", + "end": "JupyterLab server is deployed and is available as $$cap_appname.\n\n IMPORTANT: Make sure to enable websocket capability in the app config on CapRover dashboard!" + }, + "variables": [ + { + "id": "$$cap_jupyter_default_token", + "label": "Jupyter default token", + "description": "The default login token allows you to set a password within the application. For better experience leave empty and enable basic auth within the CaprRover dashboard." + } + ] +} diff --git a/public/v2/logos/jupyter-lab.png b/public/v2/logos/jupyter-lab.png new file mode 100644 index 0000000000000000000000000000000000000000..0f68d81372834545478fd6f7b9ba03778bc10baa GIT binary patch literal 9350 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