Use this application to deploy Jupyter Notebook to heroku or CloudFoundry. If a postgres database is available, pgcontents is used as notebook storage.
Jupyter will not start, if the environment variable JUPYTER_NOTEBOOK_PASSWORD
was not set.
If you want to customize your app, easiest is to fork this repository.
If you forked this repository, you can link it to your heroku app afterwards.
Push this repository to your app or fork this repository on github and link your repository to your heroku app.
Use the heroku-buildpack-conda:
$ heroku buildpacks:set https://github.com/pl31/heroku-buildpack-conda.git -a <your_app>
Jupyter notebook will not start until the environment variable
JUPYTER_NOTEBOOK_PASSWORD
is set. Use a good password:
$ heroku config:set JUPYTER_NOTEBOOK_PASSWORD=<your_passwd> -a <your_app>
If you are really sure, that you do not want a password protected notebook
server, you can set JUPYTER_NOTEBOOK_PASSWORD_DISABLED
to DangerZone!
.
- Clone this repository
- Create a postgres database service with name
jupyter-db
- Deploy using
cf push
- Set
JUPYTER_NOTEBOOK_PASSWORD
usingcf set-env
. Do not forget to restart application.
JUPYTER_NOTEBOOK_PASSWORD
: Set password for notebooksJUPYTER_NOTEBOOK_PASSWORD_DISABLED
: Set toDangerZone!
to disable password protectionJUPYTER_NOTEBOOK_ARGS
: Additional command line args passed tojupyter notebook
; e.g. get a more verbose logging using--debug
If you want to use a special python version, you should set it in your environment.yml:
name: root
dependencies:
- python=2.7
- ...
Experimental feature - in work
- Parametrize default environment using ENVIRONMENT_YML
- Add additional kernel(s) to jupyter installation (Python2 and Python3 in parallel)
- Allow changes and experimental features without damaging defult configuration
Deployment | Features | Description |
---|---|---|
Python3, IPython5 | Default Environment | |
Python3 | Latest, no version binding | |
Python3, IPython5 + Python2 | Default Environment + Python2 |