AWS AMI Installation
Prerequisites
DVC Studio Images
The DVC Studio machine image (AMI) and access to the DVC Studio Docker images need to be provided by the Iterative team to enable the installation.
DNS
Create a DNS record pointing to the IP address of the EC2 instance. This hostname will be used for DVC Studio.
Installation
-
Open the AWS Console
-
Navigate to EC2 -> Instances
-
Click Launch instances
-
Provide a name for your EC2 instance
- Select studio-selfhosted from the AMI catalog (owner: 260760892802)
-
Select an appropriate instance type.
- Minimum requirements: 16 GB RAM, 4 vCPUs
- Recommended requirements: 32 GB RAM, 8 vCPUs
- To enable SSH connections to the instance, select an existing key pair to use or create an existing one. We recommend ED25519 keys.
- In the network settings, use either the default VPC or change it to a desired one. Under the Firewall setting, create a new security group with SSH, HTTP, and HTTPS access or use an existing one with the same level of access.
It's important to ensure that your VPC has connectivity to your Git forge (Github, Gitlab, or Bitbucket)
- Configure the storage. We recommend a minimum of 50 GB block storage.
- Launch the EC2 instance
-
Wait for the EC2 instance to become available. Next, copy its IP address.
-
Open a terminal, and run the following commands to connect to the instance:
$ ssh -i <EC2 key pair> ubuntu@$EC2_INSTANCE
The commands in the upcoming steps (13-15) are all meant to be run over SSH on the EC2 instance.
- Configure the Docker registry credentials:
ubuntu@ami:~$ kubectl create secret docker-registry iterativeai \
--namespace studio \
--docker-server=docker.iterative.ai \
--docker-username=<username> \
--docker-password=<password>
Replace the strings marked with < >
The DOCKER_USERNAME
and DOCKER_PASSWORD
will be provided to you by our
support team in preparation for the installation.
- Update the Helm repository using the following command:
ubuntu@ami:~$ helm repo update
Replace the strings marked with < >
- Create a new
values.yaml
file with the appropriate configuration. See the configuration section for more details. Example config with a custom Gitlab instance:
imagePullSecrets:
- name: iterativeai
global:
host: <Studio hostname>
scmProviders:
gitlab:
enabled: true
url: '<GitLab URL>'
clientId: '<GitLab OAuth App Client ID>'
secretKey: '<GitLab OAuth App Secret Key>'
webhookSecret: '<GitLab Webhook Secret>'
Replace the strings marked with < >
- To install the DVC Studio application using Helm, run the following command:
ubuntu@ami:~$ helm install --wait studio iterative/studio --namespace studio -f values.yaml
- You're done! Access DVC Studio by opening the configured hostname in your browser