Import from Git repository
You will need the following to get started:
- Maintain role permissions or above
- A compute environment with sufficient resources (scale based on data volume)
- Data Explorer enabled
- Git credentials configured in your workspace
- A Git repository containing a
.seqerafolder
Limitations
- Compute environments are platform-specific and cannot be defined in external Git repositories. Select the compute environment when adding a Studio.
- Data-links currently cannot be referenced in Git repositories. Define data-links when adding a Studio.
- Git repositories with multiple Studio configurations are not supported. However, it is possible to use a Git repository with multiple branches and a single configuration per branch.
Create the required configuration files
.seqera/studio-config.yaml configuration file
Create a .seqera/studio-config.yaml file in the .seqera/ directory of your repository. Your studio-config.yaml should contain at least schemaVersion , kind and session.template.kind. All other fields are optional.
schemaVersion: "0.0.1"
kind: "studio-config"
session:
name: "studio-name" # Must be unique to a workspace. If undefined, an auto-generated name is used
description: "desc" # Short description of what the Studio is for
template:
kind: "registry"|"dockerfile"|"none" # Required
registry: "cr.seqera.io/image:latest" # Ignored for `dockerfile` and `none`
dockerfile: "Dockerfile" # Ignored for `registry` and `none`
clone:
enabled: true # Clone the contents of the repository to the Studio. Defaults to `true`
path: "/workspace" # Defaults to `/workspace`. If you want to clone to `/workspace/repository` then you need to specify this
dependencies:
condaEnvironmentFile: "environment.yaml" # Define additional libraries (and versions). Ignored for `dockerfile`
computeRequirements:
awsBatch: # Ignored for non-AWS batch CE
cpu: 2 # Number of CPUs to use. Defaults to 2
gpu: 0 # Number of GPUs to use (if the CE supports GPUs). Defaults to 0
memory: 8192 # Memory allocated in MiB. Defaults to 8192.
environmentVariables: # Ordered sequence of elements that are objects (or mappings) of key-value pairs
- name: "var1"
value: "value1"
- name: "var2"
value: "value2"
management: # Session management settings
lifespanHours: 1 # Ignored if workspace lifespan is set
isPrivate: false # Defaults to `false`
The schema can reference a Dockerfile, located inside the .seqera folder. The following limitations apply:
- The workspace Admin needs to set a target repository per workspace, in Settings > Studios > Container repository. If no repository configuration is specified, the build will fail.
- Each workspace needs to have credentials available in the workspace to push to the repository you've specified.
- The only supported repository and compute environment combination for a fully private Dockerfile-based Studio is ECR and AWS.
- The files pulled for Dockerbuild context have individual and total file size limits:
- Individual files cannot be larger than 5 MB.
- Total file size cannot be more than 10 MB.
Add a Studio
You can add a Studio by referencing a Git repository containing Studio configuration files. You can also configure the following fields:
- Git repository: Enter the full URL to your Git repository (e.g.,
https://github.com/your-org/your-repo). - Revision: Select a branch, tag, or commit from the dropdown. The dropdown is dynamically populated based on the repository URL. If no revision is selected, the default branch is used.
- Install Conda packages: A list of conda packages to include with the Studio. For more information on package syntax, see conda package syntax.
note
The workspace Admin needs to set a target repository per workspace, in Settings > Studios > Container repository. If no repository configuration is specified, the build will fail. Each workspace must have credentials available to push to the specified repository.
- Resource labels: Any resource label already defined for the compute environment is added by default, but can be removed. Additional custom resource labels can be added or removed as needed.
- Environment variables: Environment variables for the session. All variables from the selected compute environment are automatically inherited and displayed. Additional session-specific variables can be added. Session-level variables take precedence. To override an inherited variable, define the same key with a different value.
- Studio name: The name for the Studio.
- Description (optional): A description for the Studio.
- Collaboration: Session access permissions. By default, all workspace users with the launch role and above can connect to the session. Toggle Private on to restrict connections to the session creator only.
note
When private, workspace administrators can still start, stop, and delete sessions, but cannot connect to them.
- Session lifespan: The duration the session remains active. Available options depend on your workspace settings:
- Stop the session automatically after a predefined period of time: An automatic timeout for the session (minimum: 1 hour; maximum: 120 hours; default: 8 hours). If a workspace-level session lifespan is configured, this field cannot be edited. Changes apply only to the current session and revert to default values after the session stops.
- Keep the session running: Continuous session operation until manually stopped or an error terminates it. The session continues consuming compute resources until stopped.
When the Git URL or Revision fields are changed, form field values dynamically update.