Datalore 2023.5 Help

Install Datalore Enterprise in Docker containers using Docker Compose

The instruction in this article describes the installation of Datalore Enterprise in Docker containers using Docker Compose. We recommend that you choose the Docker-based installation if your primary goal is to get familiar with the product and its key features. This is the easier and quicker procedure compared to the Helm-based method.

Prerequisites

Before installation, make sure that you have the following:

  • Docker

  • Docker Compose V2

To check the requirements, execute docker compose version.

Expected result:

$ docker compose version Docker Compose version v2.2.3

Hardware requirements
  • Datalore server machine: 4GB of RAM (the number of CPU is irrelevant if the load is not high)

  • For every concurrently run notebook: from 4GB of RAM

Basic Datalore installation

Follow the instruction to install Datalore using the selected method.

Install Datalore

  1. Download an archive with the configuration files.

  2. To set up Datalore, unpack the downloaded archive and open docker-compose.yaml from the [archive_folder]/docker-compose folder in any text editor. Replace the values of DB_PASSWORD and POSTGRES_PASSWORD properties with any random string (both properties must have the same value). This string will be used as your database password. Make sure you keep it secret.

  3. Run the following command and wait for Datalore to start up:

    docker compose up
  4. Go to http://127.0.0.1:8080/ and sign up the first user. The first signed-up user will automatically receive admin rights.

  5. To access Datalore by a domain other than 127.0.0.1, add a URL with this host as the DATALORE_PUBLIC_URL parameter in the docker-compose.yaml file.

    For example, if you want to use the https://datalore.yourcompany.com domain, add the following:

    services: datalore: ... environment: ... DATALORE_PUBLIC_URL: "https://datalore.yourcompany.com"
  6. Click your avatar in the upper-right corner, select Admin panel | License and provide your license key.

    Opening Admin panel

(Optional) Use an external postgres database

  1. Add the following variables under environment: in the docker-compose.yaml file:

    environment: ... DB_USER: "<database_user>" DB_URL: "jdbc:postgresql://[database_host]:[database_port]/[database_name]"
  2. In the same file, remove the following block:

    postgresql: image: jetbrains/datalore-postgres:2023.5 expose: [ "5432" ] networks: - datalore-backend-network volumes: - "postgresql-data:/var/lib/postgresql/data" environment: POSTGRES_PASSWORD: "changeme"
  3. Remove postgresql-data: { } from under volumes:.

Enable an email whitelist

Enable a whitelist for new user registration. Only users with emails entered to the whitelist can be registered. The respective tab will be available on the Admin panel.

  1. Open the docker-compose.yaml file.

  2. Add the following parameter:

    environment: EMAIL_ALLOWLIST_ENABLED = TRUE

The respective tab will become available on the Admin panel.

Enable user filtration based on Hub group membership

By default, all Hub users can get registеred unless you disable registration on the Admin panel. If you want to grant Datalore access only to a specific Hub group members, perform the steps below:

  1. Open the docker-compose.yaml file.

  2. Add the following parameter:

    environment: HUB_ALLOWLIST_GROUP: 'group_name'

Fargate restrictions

While Datalore can operate in Fargate, be aware that attached files and reactive mode will not work due to Fargate security policies.

Further steps

Follow the basic installation with configuration procedures. Some of them are required as you need to customize Datalore Enterprise in accordance with your project.

Procedure

Description

Required

Configure agents

Used to change the default agents configuration

Set up GPU machines

Used to enable GPU machines

Configure plans

Used to customize plans for your Datalore users

Optional

Customize or update environment

Used to create multiple base environments out of custom Docker images

Set up JetBrains Hub

Used to integrate an authentication service

Enable gift codes

Used to enable a service generating and distributing gift codes

Enable email service

Used to activate email notifications

Enable user activity logging

Used to set up auditing of your Datalore users

Last modified: 25 October 2023