This repository contains example Dockerfiles and configurations for custom Seqera Studio applications. Each example demonstrates how to create and deploy different types of interactive applications in Seqera Studios.
- Marimo - A reactive Python notebook environment
- CellxGene - Interactive single-cell data visualization
- Streamlit - MultiQC visualization using Streamlit
- Shiny - Interactive data visualization with R Shiny
- TTYD - Interactive web-based terminal with bioinformatics tools
All examples in this repository require:
- Docker installed
- Wave configured in your Seqera Platform workspace
- Access to a container registry (public or Amazon ECR) for pushing your images
All examples in this repository:
- Are compatible with both local Docker testing and Seqera Studios
- Use the required Seqera base image and connect-client
- Include detailed setup and usage instructions
- Support data mounting via datalinks in Studios
- Are built for linux/amd64 platform compatibility
- Use multi-stage builds to include the connect-client
- Follow consistent container best practices
All examples follow the same deployment process:
- Select the Studios tab in your workspace
- Click Add Studio
- In the General config section:
- Select Prebuilt container image as the container template
- Enter your container image URI (e.g.,
cr.seqera.io/scidev/your-example
) - Set a Studio name and optional Description
- Configure compute resources in the Compute and Data section:
- Select your compute environment
- Adjust CPU, GPU, and memory allocations as needed
- Mount any required data using the Mount data option
- Configure environment variables if the example supports them (see Environment Variables section)
- Review the configuration in the Summary section
- Click Add and start to create and launch the Studio
Some examples support environment variable configuration to customize data paths and application settings without modifying the container image. This makes those examples more flexible and reusable across different datasets and configurations.
Only the following examples support environment variable configuration:
- CellxGene:
DATASET_FILE
,DATASET_TITLE
- Configure dataset path and display title - Shiny:
DATA_PATH
- Configure data file path with automatic cloud storage path conversion
These examples work with their default configurations and don't require environment variable setup:
- Marimo: Interactive Python notebook environment
- Streamlit: MultiQC visualization with web-based data loading interface
- TTYD: Web-based terminal with pre-installed bioinformatics tools
When deploying to Seqera Studios, you can configure environment variables in the Compute and Data section:
- Expand the Environment variables section
- Add key-value pairs for the variables you want to customize
- The application will use these values instead of the defaults
- Official documentation on building custom studio environments
- Each example's README contains specific instructions for:
- Building and testing locally
- Required dependencies and configurations
- Example-specific features and usage
- Data format requirements
- Customization options
Feel free to contribute new examples or improvements to existing ones. Each example should:
- Follow the established README structure
- Include comprehensive documentation
- Maintain consistency with common features
- Provide clear prerequisites and deployment instructions
- Include example data or clear data requirements