container_name: heavyaiserver
image: heavyai/heavyai-ee-cuda:v6.0.0
- /var/lib/heavyai:/heavyai-storage
- /var/lib/heavyai/data/heavyai_import/jhub_heavyai_dropbox:/jhub_heavyai_dropbox
# If using binary encryption, uncomment the below line to override the default
# command that uses startheavyai, noting that you must have an existing HEAVY.AI
# data directory and run initdb before making this change.
# command: /bin/bash -c "/heavyai/bin/heavy_web_server --config /heavyai-storage/heavyai.conf & /heavyai/bin/heavydb --config /heavyai-storage/heavyai.conf"
# The purpose of this is to make sure the jlabimage is pulled because jupyterhub will not pull it automatically when launching
image: &jlabimage heavyai/heavyai-jupyterlab-cpu:v0.5
container_name: jupyterhub
image: heavyai/heavyai-jupyterhub:v0.4
- /var/run/docker.sock:/var/run/docker.sock
# Map this volume if binary encryption mode is configured and certificates are being validated
# - /var/lib/heavyai/cacerts.crt:/heavyai-storage/cacerts.crt
### Required settings ###
DOCKER_JUPYTER_LAB_IMAGE: *jlabimage
HEAVYAI_HOST: heavyaiserver
HEAVYAI_JUPYTER_ROLE: heavyai_jupyter
### Optional settings ###
# DOCKER_NOTEBOOK_DIR: /home/jovyan # The directory inside the user's Jupyter Lab container to mount the user volume to.
# HUB_IP: jupyterhub # The hostname or IP of the Jupyter Hub server
# JHUB_BASE_URL: /jupyter/ # The base URL prepended to all Jupyter Hub and Lab requests
# HEAVYAI_ALLOW_SUPERUSER_ROLE: "false" # Enable / disable admin access to Jupyter Hub
# JLAB_CONTAINER_AUTOREMOVE: "true" # Enable / disable automatic removal of stopped Juptyer Lab containers
# JLAB_DOCKER_NETWORK_NAME: heavyai-backend # The docker network name for Jupyter Lab containers
# JLAB_IDLE_TIMEOUT: 3600 # Shut down Jupyter Lab containers after this many seconds of idle time
# JLAB_NAME_PREFIX: jupyterlab # Container name prefix for Lab containers
# JLAB_HEAVYAI_IMPORT_VOLUME_PATH: /var/lib/heavyai/data/heavyai_import/jhub_heavyai_dropbox # Local Docker host path for where to mount the shared directory available to the HeavyDB server for file ingest
# JLAB_NOTEBOOK_TERMINALS_ENBLED: "false" # Enable terminals in notebooks
# JLAB_USER_VOLUME_PATH: /var/lib/heavyai/jupyter/ # Local Docker host path to be used for user Jupyter Lab home directory volume mapping
# JUPYTER_DEBUG: "true" # Turn on / off debugging for Jupyter Hub and Lab
# HEAVYAI_BINARY_TLS_CACERTS_LOCAL_PATH: /var/lib/heavyai/cacerts.crt # Specifying this or mapping a volume in the Hub container to /heavyai-storage/cacerts.crt will automatically enable binary TLS mode
# HEAVYAI_BINARY_TLS_VALIDATE: "false" # Whether or not to validate certificates in binary TLS mode. Specifying either "true" or "false" will enable binary TLS mode
# HEAVYAI_PORT: 6278 # Port that Jupyter Hub should use to connect to HEAVY.AI. Ensure this matches the protocol
# HEAVYAI_PROTOCOL: http # Protocol that Jupyter Hub should use to connect to HEAVY.AI. Ensure this is "binary" if using binary encryption
# SPAWNER_CPU_LIMIT: 1 # Number of CPU cores available for each Jupyter Lab container, see https://jupyterhub.readthedocs.io/en/stable/api/spawner.html#jupyterhub.spawner.Spawner.cpu_limit
# SPAWNER_RAM_LIMIT: 10G # Amount of CPU RAM available for each Jupyter Lab container, see https://jupyterhub.readthedocs.io/en/stable/api/spawner.html#jupyterhub.spawner.LocalProcessSpawner.mem_limit
# SPAWNER_ENV_HEAVYAI_HOST: heavyaiserver # Hostname / IP address of the HEAVY.AI server for Lab containers to connect to by default
# SPAWNER_ENV_HEAVYAI_PORT: 6274 # Port of the HEAVY.AI server for Lab containers to connect to by default
# SPAWNER_ENV_HEAVYAI_PROTOCOL: binary # Protocol of the HEAVY.AI server for Lab containers to connect to by default
# HEAVYAI_DB_URL: "heavyai://heavyaiserver:6274/heavyai" # Alternative, direct connection (not Immerse session) to heavyaiserver. Username will be inferred, but password will be required in notebook.
# More volumes for lab containers:
# JLAB_VOLUME_1: /data1:/data1:rw
# JLAB_VOLUME_2: /var/lib/heavyai:/heavyai-storage:ro