captainVersion: 4
services:
    $$cap_appname:
        restart: always
        environment:
            JUPYTER_ENABLE_LAB: $$cap_jupyterlab
            RESTARTABLE: yes
        volumes:
            - $$cap_appname:/home/jovyan/
        caproverExtra:
            containerHttpPort: '8888'
            dockerfileLines:
                - FROM jupyter/tensorflow-notebook:36d857bb0121
                - RUN pip install lxml
                - RUN jupyter notebook --generate-config -y
                - RUN echo 'c.NotebookApp.token = "$$cap_jupyter_default_token"' >> /home/jovyan/.jupyter/jupyter_notebook_config.py
                - EXPOSE 8888
caproverOneClickApp:
    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.
        - id: $$cap_jupyterlab
          label: Jupyter Lab
          defaultValue: yes
          description: Enter "yes" to enable JupyterLab and leave empty otherwise
    instructions:
        start: JupyterLab is the next-generation user interface for Project Jupyter.
        end: >-
            JupyterLab server is deployed and is available as $$cap_appname.

            IMPORTANT: Make sure to enable websocket capability in the app config on CapRover dashboard!
    displayName: Jupyter Tensorflow
    isOfficial: true
    description: Jupyter Notebook with built in Tensorflow and Keras for your data analysis and machine learning work
    documentation: 'Read more at: https://jupyter-docker-stacks.readthedocs.io/'
