Datalore 2024.5 Help

Install Datalore On-Premises in Docker containers using Docker Compose

The chapters in this section describe the processes of installing, configuring, and updating Datalore On-Premises in Docker deployment (Docker Compose method).

If you have not decided which platform or service to choose yet, we recommend that you try installing Datalore On-Premises on an AWS EC2 instance. Refer to this guide to learn how to create your own infrastructure in AWS.

You will learn how to do the following:

  • Basic installation: You complete the basic procedure to get Datalore On-Premises up and running on the infrastructure of your choice.

  • Required and optional configuration procedures: You customize and configure Datalore On-Premises. Some of these configurations are essential for you to start working on your projects.

  • Upgrade procedure: You upgrade your version of Datalore On-Premises. We duly notify you of our new releases.

The instruction in this article describes the installation of Datalore On-Premises 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.21.0
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 and open the docker-compose.yaml file from here.

  2. 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:2024.4 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.

  1. Open the docker-compose.yaml file.

  2. Add the following parameter:

    environment: EMAIL_ALLOWLIST_ENABLED: "true"

The respective tab will be 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'

Configure notebook code import limit

Set your own value in bytes to configure the limit of notebook code import.

  1. Open the docker-compose.yaml file.

  2. Add the following parameter:

    environment: VFS_MAX_IMPORT_SOURCE_LENGTH: 'integer, prefixes (K-, M-, etc.) not supported'

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 On-Premises 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

We also recommend referring to this page for the full list of Datalore server configuration options.

Keywords

Datalore installation, Datalore deployment, install Datalore, installation procedures, installation requirements, Docker deployment

Last modified: 29 November 2024