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
Download an archive with the configuration files.
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
andPOSTGRES_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.Run the following command and wait for Datalore to start up:
docker compose upGo to http://127.0.0.1:8080/ and sign up the first user. The first signed-up user will automatically receive admin rights.
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"Click your avatar in the upper-right corner, select Admin panel | License and provide your license key.
(Optional) Use an external postgres database
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]"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"Remove
postgresql-data: { }
from undervolumes:
.
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.
Open the docker-compose.yaml file.
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:
Open the docker-compose.yaml file.
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 | |
Used to change the default agents configuration | |
Used to enable GPU machines | |
Used to customize plans for your Datalore users | |
Optional | |
Used to create multiple base environments out of custom Docker images | |
Used to integrate an authentication service | |
Used to enable a service generating and distributing gift codes | |
Used to activate email notifications | |
Used to set up auditing of your Datalore users |