Install Datalore Enterprise on AWS
The instruction below explains how to install Datalore on-premises in your AWS infrastructure.
To install Datalore on-premises in AWS, you need the following tools installed on your machine:
You also need to download this repository to your computer and configure AWS CLI.
By default, Datalore uses spot AWS instances. To ensure you can use your account to start spot instances, execute the following command before installation:
It will create the necessary role (
AWSServiceRoleForEC2Spot) in your account if it's missing.
Deploy your AWS infrastructure
Go to the aws/terraform directory in the downloaded repository.
Change the parameters in the terraform.tfvars file if needed. It is important to use the name of your AWS key pair in ssh_keypair.
terraform applyto get the following important information:
datalore_ip is the ip address of the machine where Datalore will be installed. This IP will be used for accessing Datalore.
init_script is the script that you will need to execute on the machine which the terraform script made for you.
SSH to the machine with the IP (datalore_ip) from the previous step. Use ubuntu as a user and the private key from your AWS key pair that you specified in ssh_keypair.ssh -i <path_to_my_key> ubuntu@<datalore_ip>
Log into the Hub repository:sudo docker login -u datalorecustomer
Download the datalore.sh script:wget https://raw.githubusercontent.com/jetbrains/datalore-configs/on-premises-0.3.0/aws/datalore.sh chmod +x datalore.sh
- Execute the
init_scriptcommand from this step. (eg ./datalore.sh <a_lot_of_params>).
Execute the following command to start Datalore:./datalore.sh start-datalore
Now you have access to Datalore at http://<datalore_ip>:8080 and Hub at http://datalore_ip>:8082. Your admin account in Hub is admin/changeme.
Change AMI settings
By default, Datalore is configured to work in the
eu-west-1 AWS region. If your deployment is in another region, do the following:
- In the /home/ubuntu/datalore/agents_config.yaml file, edit the AMI values according to your region.
eu-west-1:cpuAmi: ami-0669fe7edb74297be gpuAmi: ami-051f0cc2350133b73
us-east-1:cpuAmi: ami-0af1fe2e95a20289c gpuAmi: ami-0873c82141e9861cb
If your region is not listed yet, contact us at email@example.com, and we will add an AMI for your region.
To apply the changes, restart Datalore.
(Optional) Set up email notifications
In the /home/ubuntu/datalore/datalore.env file (later referred to as datalore.env), set the
true. This enables Datalore to send emails (welcome emails, sharing invitations, etc).
- Edit the following parameters:
MAIL_SENDER_EMAIL: sender's email
MAIL_SENDER_NAME: sender's name
MAIL_SENDER_USERNAME: username of SMTP user
MAIL_SENDER_PASSWORDpassword of SMTP user
MAIL_SMTP_SERVER: SMTP server host
MAIL_SMTP_PORT: SMTP server port
(Optional) Set up a hostname
If you don't want to access Datalore via ip and want to assign a human readable DNS name for it and add a load balancer with https, update the configuration using the steps belows.
Go to http://<datalore_ip>:8082/hub/services (as admin user) and replace the ip addresses in Home URL, Base URLs, and Redirect URIs with a DNS name for both Datalore and Hub services.
- Go to the datalore.env file and change the values of HUB_PUBLIC_BASE_URL and FRONTEND_URL.
Use the following commands:
To stop Datalore and Hub:
To start Datalore and Hub:
To check Datalore logs:
sudo docker logs datalore
To check Hub logs:
sudo docker logs hub
Admin user and licenses
Set up an admin user
To use the admin panel feature, you need a user with admin rights. Use the admin API token from this procedure to create the first admin user.
- Log into Hub (
http://<datalore_ip>:8082/) as the user you want to grant an admin role to. Make sure this user's email is set.
- Log into Datalore with the same user (
http://<datalore_ip>:8080/) and accept Terms of Service.
Send a POST request to http://<datalore_ip>:8080/api/admin/user/role?email=<EMAIL_OF_ADMIN_USER>&role=<NEW_USER_ROLE> with the header
Authorization: <ADMIN_API_AUTH_TOKEN>to change the user role.
- Choose of the following user roles:
REGULAR: regular user. Can be used to demote the user from the admin role.
ADMIN: admin user with access to the admin panel.
SUPER_ADMIN: admin user who can also change other users' roles via the admin panel.
Add a license
To use Datalore, you need to activate your license (provided in license.key). Only with an activated license, you can start computations and create more than one user. You have the following options:
- (Recommended) Use the admin panel:
license.keyin the Add new license field.
Once submitted and verified, the license will be immediately activated (no restart needed). Licenses are persisted in the database, so they will work even after restart.
- Use the admin REST API as an alternative to the admin panel:
Send a POST request to http://<datalore_ip>:8080/api/admin/license with the header
Authorization: ADMIN_API_AUTH_TOKEN(token from this procedure).
license.keyin the request body.