Studios: Docker Compose
This guide describes how to deploy Studios for Seqera Platform Enterprise with Docker Compose.
Prerequisites
Other than the basic requirements already listed in the Studios installation overview, you will need:
- Docker Engine and Docker Compose
Procedure
-
Create a folder for Connect metadata:
mkdir -p $HOME/.tower/connect
chmod 777 $HOME/.tower/connect -
Download the Studios environment configuration file.
-
Create an initial OIDC registration token:
oidc_registration_token=$(openssl rand -base64 32 | tr -d /=+ | cut -c -32) -
Generate an RSA public/private key pair:
openssl genrsa -out private.pem 2048
openssl rsa -pubout -in private.pem -out public.pem -
Download the data-studios-rsa.pem file and replace its contents with the content of your private and public key files (private key on top, public key directly beneath it). Save as
data-studios-rsa.pemin the same directory as yourdocker-compose.yml. -
Open
docker-compose.ymland uncomment the volume mount for the PEM key file for thebackendandcronservices:volumes:
- $PWD/tower.yml:/tower.yml
- $PWD/data-studios-rsa.pem:/data-studios-rsa.pem -
Open
data-studios.envand set the following:- Uncomment the
connect-proxyandconnect-serverservices. PLATFORM_URL: The same value asTOWER_SERVER_URL(e.g.,https://platform.example.com/orhttps://example.com/).CONNECT_PROXY_URL: A URL for the connect proxy subdomain (e.g.,https://connect.example.com).CONNECT_OIDC_CLIENT_REGISTRATION_TOKEN: The same value asoidc_registration_token.
- Uncomment the
-
Open
tower.envand set the following:TOWER_DATA_EXPLORER_ENABLED: Set totrue.TOWER_DATA_STUDIO_CONNECT_URL: The URL of the Studios connect proxy (e.g.,https://connect.example.com/).TOWER_OIDC_REGISTRATION_INITIAL_ACCESS_TOKEN: The same value asoidc_registration_token.TOWER_OIDC_PEM_PATH: The file path to the PEM certificate (e.g.,/data-studios-rsa.pem).
-
Edit the
tower.ymlfile and include the following snippet to enable Studios in all workspaces in your Platform instance:tower:
data-studio:
allowed-workspaces: nullAlternatively, you can specify a comma-separated list of workspace IDs to enable Studios only on those workspaces.
tower:
data-studio:
allowed-workspaces: [12345,67890] -
Start your Platform instance:
docker compose up -d -
To confirm that Studios is available, log in to your Platform instance and navigate to an organizational workspace that has Studios enabled. The Studios tab is included with the available tabs.
Tool Configuration
This guide assumes that all services will be run in the same container as the rest of your Seqera Platform services.
If you were using Studios prior to GA (v25.1) please review the tower.env file and make sure you are using the latest version which includes a new variable TOWER_DATA_STUDIO_TEMPLATES_<TEMPLATE_KEY>_TOOL. This variable needs to be added to the default/Seqera-provided Studio templates:
TOWER_DATA_STUDIO_TEMPLATES_<TEMPLATE_KEY>_TOOL: '<TOOL_NAME>'
The TEMPLATE_KEY can be any string, but the TOOL_NAME has to be the template name (jupyter/vscode/rstudio/xpra).
You can also check the current template configuration using https://towerurl/api/studios/templates?workspaceId=<WORKSPACE_ID>. The response should include the TOOL configuration and template name (jupyter/vscode/rstudio/xpra) - not custom.