Docker image

The atoti image on DockerHub contains the atoti library and its JupyterLab extension ready to use.

Note

This Docker image is a good playground to try atoti in a notebook environment. However, it should not be used as a base image for deploying atoti applications on the cloud since JupyterLab will not be needed in this situation. Starting from a bare Python image would be more suited for that.

If you need help on the installation you can contact us on Gitter, GitHub, or shoot us an email.

Usage

Pull the image:

docker pull atoti/atoti

Create a volume where the data (notebooks, files, etc.) can be persisted when the Docker container is stopped:

docker volume create atoti-volume

Run the Docker image using the created volume:

docker run --publish 8888:8888 --volume atoti-volume:/home/jovyan/work atoti/atoti

Jupyter will print the URL of the application with a security token, such as http://localhost:8888?token=XXXXX.

Advanced

Distant machine

The Docker image relies on the BASE_URL environment variable to indicate to Jupyter Server and atoti sessions the URL from which they are accessible. This variable defaults to http://localhost, meaning that the image expects to be run locally.

On a distant machine, such as a cloud instance, BASE_URL needs to be changed (e.g. to https://service.cloud-provider.com) in order to ensure that session.url is correct and that the atoti JupyterLab extension can connect to the session.

Listening on another port

Jupyter Server can listen to another port than 8888 by changing the port in the publish mapping (--publish XXXX:XXXX) and setting the PORT environment variable to the port value.

docker run --env PORT=9999 --publish 9999:9999 --volume atoti-volume:/home/jovyan/work atoti/atoti

Build custom image

Our Dockerfile can be used as a starting point for custom images (e.g. to pre-install other dependencies).