Skip to main content
Version: 26.1

Studios

Studios provides interactive analysis environments within Seqera Platform. Deploy Studios after your Platform installation is complete.

Deployment options​

MethodGuide
HelmStudios: Helm
KubernetesStudios: Kubernetes
Docker ComposeStudios: Docker Compose

See each deployment guide for detailed requirements.

Prerequisites​

info

Before you begin, you need:

  • A running Seqera Platform Enterprise deployment at hostname example.com or platform.example.com
  • A Redis 7 instance separate from the one used by Seqera Platform
  • TLS certificates for the Studios subdomains *.connect.example.com
    • A single certificate covering both Platform and Studios subdomains can be used; if preferring to use separate certificates, you may need to configure a separate ingress when working with plain Kubernetes manifests (the Studios Helm chart already uses separate ingresses)
    • The Studios subdomain must share the same "root domain" with the Platform installation, for example with Platform installed at example.com or platform.example.com, Studios can be installed at:
      • connect.example.com or using another name such as studios.example.com
      • connect.platform.example.com
      • connect.another.subdomain.example.com
  • A wildcard DNS record covering the Studios subdomains, e.g., *.connect.example.com
  • Data Explorer enabled in your Seqera Platform instance (automatic with Helm deployments)

Connect environment variables​

These are the environment variables used to configure the components of Connect.

Environment variableDefaultRequiredUsed byDescription
CONNECT_REDIS_ADDRESSredis:6379yesserver,proxyThe address of the Redis server. Default applies to the server; the proxy requires it explicitly.
CONNECT_REDIS_USERnoserver,proxyThe username to authenticate with Redis.
CONNECT_REDIS_PASSWORDnoserver,proxyThe password to authenticate with Redis.
CONNECT_REDIS_DB0noserver,proxyThe Redis database to use.
CONNECT_REDIS_PREFIXconnect:sessionnoserver,proxyA prefix to use for tunnel keys in Redis.
CONNECT_REDIS_TLS_ENABLEfalsenoserver,proxyEnable TLS connection.
CONNECT_REDIS_TLS_SKIP_VERIFYfalsenoserver,proxySets the insecure skip verify TLS option.
CONNECT_REDIS_TLS_KEY_FILEnoserver,proxyThe path to a certificate key file for TLS connection.
CONNECT_REDIS_TLS_CERT_FILEnoserver,proxyThe path to a certificate file for TLS connection.
CONNECT_LISTENER_PORT7777noserverThe port where the server listens for connections.
CONNECT_TUNNEL_PORT7070noserverThe port to open a new tunnel.
CONNECT_MANAGEMENT_PORTnoserver,proxyThe port where the server listens for metrics, readiness, and shutdown.
CONNECT_MANAGEMENT_AUTH_KEYnoserverAuth key protecting the management service endpoints.
CONNECT_HOST_DOMAINnoserverThe host domain suffix for the server.
CONNECT_HTTP_PORT80noproxyThe port where the proxy listens for incoming connections.
CONNECT_PROXY_URLyesproxyThe base domain name of Connect.
CONNECT_TUNNEL_URLyesproxyThe address of the connect server. Format: <service-name>:<port>.
PLATFORM_URLyesproxyThe base URL of Seqera Platform.
CONNECT_STORAGE_ROOT/datanoproxyThe root directory to store the proxy data.
CONNECT_LOG_LEVELINFOnoserver,proxyLog level for the server and proxy.
CONNECT_CLIENT_NAMEtower-connect-proxy-clientnoproxyOIDC client name used by the proxy's Studio provider.
CONNECT_GRANT_TYPEauthorization_codenoproxyOAuth grant type used by the proxy's Studio provider.
CONNECT_OIDC_CLIENT_REGISTRATION_TOKENnoproxyOIDC initial access token used by the proxy.
LOCAL_CACHE_TTL2mnoproxyTTL for the proxy's local session cache before syncing with redis.
CONNECT_SSH_ENABLEDfalsenoproxyEnable the SSH proxy server.
CONNECT_SSH_ADDR:2222noproxyThe address the SSH proxy server listens on.
CONNECT_SSH_KEY_PATHnoproxyPath to SSH host key file. Takes precedence over CONNECT_SSH_KEY_VALUE_BASE64 when set.
CONNECT_SSH_KEY_VALUE_BASE64noproxyBase64-encoded PEM SSH host key. Used as fallback when CONNECT_SSH_KEY_PATH is not set.
CONNECT_SSH_MAX_CONNECTIONS2000noproxyMax number of concurrent ssh connections that the server will handle before start rejecting them.
CONNECT_SSH_MAX_CONN_CHANNELS30noproxyMax number of concurrent channels that a client can open per connection.
CONNECT_SSH_HANDSHAKE_TIMEOUT1mnoproxySSH handshake timeout.
CONNECT_TRUSTED_PROXY_CIDRS127.0.0.1/32noproxySpace-separated CIDRs of trusted upstream proxies, used to resolve the real client IP from X-Forwarded-For for per-IP telemetry. Default is a no-op loopback range. See Studios data transfer quotas.
CONNECT_POLICY_B64noproxyBase64-encoded JSON traffic policy. Empty or unset disables telemetry and quota enforcement. Mutually exclusive with CONNECT_POLICY_FILE. See Studios data transfer quotas.
CONNECT_POLICY_FILEnoproxyPath to a JSON traffic policy file. Mutually exclusive with CONNECT_POLICY_B64.
CONNECT_TELEMETRY_FLUSH_INTERVAL30snoproxyHow often the proxy writes in-memory byte counters to Redis.
CONNECT_TELEMETRY_TTL168hnoproxyTTL for cumulative per-bucket telemetry keys in Redis (7 days).
CONNECT_TELEMETRY_STREAM_EMIT_INTERVAL1snoproxyHow often long-lived streams (WebSocket and SSH) report transferred bytes.

DNS configuration​

Each Studio is reachable at a unique URL that includes a randomly generated subdomain name. For example: https://abcd.connect.example.com/, where connect.example.com is the Studios service domain.

Provide a wildcard TLS certificate to allow for uniquely generated subdomains. A wildcard certificate common name includes *. in the domain name, such as *.connect.example.com, thereby securing any subdomain name at this level.

Studios uses the following set of domains and subdomains:

  • The Platform domain that you set for TOWER_SERVER_URL, such as example.com.
  • A wildcard subdomain that you must configure specifically for Studios. This wildcard subdomain is the parent for each unique session URL, such as abcd.connect.example.com.
  • The connection proxy, defined by CONNECT_PROXY_URL. This URL is a first-level subdomain of your TOWER_SERVER_URL. For example, https://connect.example.com.

Studios workspace availability​

You can configure which organizational workspaces have access to Studios by setting the TOWER_DATA_STUDIO_ALLOWED_WORKSPACES environment variable on the backend containers. By default, all workspaces have access to Studios. To restrict access to specific workspaces, set TOWER_DATA_STUDIO_ALLOWED_WORKSPACES to a comma-separated list of workspace names. For example, TOWER_DATA_STUDIO_ALLOWED_WORKSPACES="12345,67890" allows only the workspaces named 12345 and 67890 to access Studios. To disable access to Studios for all workspaces, set TOWER_DATA_STUDIO_ALLOWED_WORKSPACES="" (an empty string).

Available Studios environment images​

Each of the provided environments includes a particular version of the underlying software package and the version of Seqera Connect, an integrated web- and file-server.

To quickly identify which version of the software an image includes, the version string for each container is in the form of <software_version>-<seqera_connect_version>. For example, if the version string for the R-IDE is 2025.04.1-0.12, version 2025.04.01 is the R-IDE version and 0.12 is the Connect version of this Seqera-built container image. Learn more about Studios environment versioning.

Path-based routing configuration​

If your Enterprise deployment requires non-wildcard SSL certificates, enable path-based routing for Studios. This changes the dynamic subdomain used for each Studios session to a fixed subdomain with path-based routing.

Path-based routing is only available from Seqera Platform version 25.2 and the latest Connect server and clients. It is supported for Visual Studio Code, JupyterLab, and R-IDE container template images. It is not supported for the Xpra container template image.