You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository contains examples of Dockerfiles for custom Seqera studio applications.
3
+
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.
4
4
5
-
[Docs on how to build your own custom studio environment](https://docs.seqera.io/platform-cloud/studios/custom-envs#custom-containers)
5
+
## Available Examples
6
+
7
+
-[Marimo](marimo/README.md) - A reactive Python notebook environment
8
+
-[CellxGene](cellxgene/README.md) - Interactive single-cell data visualization
9
+
-[Streamlit](streamlit/README.md) - MultiQC visualization using Streamlit
10
+
-[Shiny](shiny-simple-example/README.md) - Interactive data visualization with R Shiny
11
+
-[TTYD](ttyd/README.md) - Interactive web-based terminal with bioinformatics tools
12
+
13
+
## Prerequisites
14
+
15
+
All examples in this repository require:
16
+
-[Docker](https://www.docker.com/) installed
17
+
-[Wave](https://docs.seqera.io/platform-cloud/wave/) configured in your Seqera Platform workspace
18
+
- Access to a container registry (public or Amazon ECR) for pushing your images
19
+
20
+
## Common Features
21
+
22
+
All examples in this repository:
23
+
- Are compatible with both local Docker testing and Seqera Studios
24
+
- Use the required Seqera base image and connect-client
25
+
- Include detailed setup and usage instructions
26
+
- Support data mounting via datalinks in Studios
27
+
- Are built for linux/amd64 platform compatibility
28
+
- Use multi-stage builds to include the connect-client
29
+
- Follow consistent container best practices
30
+
31
+
## Deploying to Seqera Studios
32
+
33
+
All examples follow the same deployment process:
34
+
35
+
1. Select the **Studios** tab in your workspace
36
+
2. Click **Add Studio**
37
+
3. In the **General config** section:
38
+
- Select **Prebuilt container image** as the container template
39
+
- Enter your container image URI (e.g., `cr.seqera.io/scidev/your-example`)
40
+
- Set a **Studio name** and optional **Description**
41
+
4. Configure compute resources in the **Compute and Data** section:
42
+
- Select your compute environment
43
+
- Adjust CPU, GPU, and memory allocations as needed
44
+
- Mount any required data using the **Mount data** option
45
+
5. Review the configuration in the **Summary** section
46
+
6. Click **Add and start** to create and launch the Studio
47
+
48
+
## Documentation
49
+
50
+
-[Official documentation on building custom studio environments](https://docs.seqera.io/platform-cloud/studios/custom-envs#custom-containers)
51
+
- Each example's README contains specific instructions for:
52
+
- Building and testing locally
53
+
- Required dependencies and configurations
54
+
- Example-specific features and usage
55
+
- Data format requirements
56
+
- Customization options
57
+
58
+
## Contributing
59
+
60
+
Feel free to contribute new examples or improvements to existing ones. Each example should:
61
+
- Follow the established README structure
62
+
- Include comprehensive documentation
63
+
- Maintain consistency with common features
64
+
- Provide clear prerequisites and deployment instructions
This example contains a Dockerfile that builds a container image for running CellxGene with Seqera Studios.
3
+
This example provides a custom container image for running [CellxGene](https://chanzuckerberg.github.io/cellxgene/), an interactive single-cell data visualization platform, as a Studio environment in Seqera Platform.
4
+
5
+
## Table of Contents
6
+
7
+
-[Overview](#overview)
8
+
-[Features](#features)
9
+
-[Files](#files)
10
+
-[Prerequisites](#prerequisites)
11
+
-[Local Testing](#local-testing)
12
+
-[Using in Seqera Studios](#using-in-seqera-studios)
13
+
-[Notes](#notes)
14
+
-[References](#references)
15
+
16
+
## Overview
17
+
18
+
This container is designed for use as a [custom Studio environment](https://docs.seqera.io/platform-cloud/studios/custom-envs) in Seqera Platform. It provides an interactive interface for exploring single-cell data using the CellxGene visualization platform.
4
19
5
20

6
21
@@ -17,17 +32,28 @@ For specific versions, use the release tag (e.g., `ghcr.io/seqeralabs/custom-stu
17
32
18
33
- CellxGene 1.3.0 visualization platform
19
34
- Support for .h5ad datasets
20
-
-Compatible with both local Docker testing and Seqera Studios
35
+
-Interactive single-cell data exploration
21
36
- Automatic data mounting via datalinks
22
37
38
+
> [!NOTE]
39
+
> For common features shared across all examples, see the [main README](../README.md#common-features).
40
+
23
41
## Files
24
42
25
43
-`Dockerfile`: Container definition using multi-stage build
26
44
-`pbmc3k.h5ad`: Example dataset (mounted via datalink)
27
45
46
+
## Prerequisites
47
+
48
+
> [!NOTE]
49
+
> For common prerequisites, see the [main README](../README.md#prerequisites).
50
+
51
+
Additional requirements specific to this example:
52
+
- .h5ad format single-cell datasets
53
+
28
54
## Local Testing
29
55
30
-
To test the app locally for testing purposes you need to override the entrypoint:
To point at a specific data file rather than the input example, make it available at /workspace/data/cellxgene_datasets/ in the container. For example if your dataset was in the current directory:
69
+
To use a specific data file, make it available at /workspace/data/cellxgene_datasets/ in the
This is a simple Shiny example that demonstrates how to create a Shiny app that can be run both locally and in Seqera Studios.
3
+
This example provides a custom container image for running a [R Shiny](https://shiny.rstudio.com/) application in Seqera Platform, demonstrating interactive data visualization capabilities.
4
+
5
+
## Table of Contents
6
+
7
+
-[Overview](#overview)
8
+
-[Features](#features)
9
+
-[Files](#files)
10
+
-[Prerequisites](#prerequisites)
11
+
-[Local Testing](#local-testing)
12
+
-[Using in Seqera Studios](#using-in-seqera-studios)
13
+
-[Notes](#notes)
14
+
-[References](#references)
15
+
16
+
## Overview
17
+
18
+
This container is designed for use as a [custom Studio environment](https://docs.seqera.io/platform-cloud/studios/custom-envs) in Seqera Platform. It provides a simple but powerful example of interactive data visualization using R Shiny.
4
19
5
20

6
21
@@ -18,6 +33,8 @@ For specific versions, use the release tag (e.g., `ghcr.io/seqeralabs/custom-stu
18
33
- Simple scatter plot visualization
19
34
- Interactive data filtering
20
35
- Compatible with both local Docker testing and Seqera Studios
36
+
- Efficient package management with micromamba
37
+
- Easy data mounting via datalinks
21
38
22
39
## Files
23
40
@@ -26,44 +43,51 @@ For specific versions, use the release tag (e.g., `ghcr.io/seqeralabs/custom-stu
26
43
-`Dockerfile`: Container definition
27
44
-`run.sh`: Entrypoint script that handles both local and Studios environments
28
45
46
+
## Prerequisites
47
+
48
+
-[Docker](https://www.docker.com/) installed
49
+
-[Wave](https://docs.seqera.io/platform-cloud/wave/) configured in your Seqera Platform workspace
50
+
- Access to a container registry (public or Amazon ECR) if you wish to push your image
51
+
- R data files in CSV format
52
+
29
53
## Local Testing
30
54
31
-
To test the app locally for testing purposes you need to override the entrypoint:
docker run -p 3000:3000 --entrypoint micromamba shiny-simple-example run -n shiny R -e "shiny::runApp('/app/app_plot_demo.R', host='0.0.0.0', port=3000)"
36
60
```
37
61
38
-
To point at a specific data file rather than the input example, make it available at /workspace/data/shiny-inputs/data.csv in the container. For example if data.csv was in the current directory:
62
+
To use a specific data file, make it available at /workspace/data/shiny-inputs/data.csv in the container:
39
63
40
64
```bash
41
65
docker run -p 3000:3000 --entrypoint micromamba -v $(pwd)/../data/shiny-inputs:/workspace/data/shiny-inputs shiny-simple-example run -n shiny R -e "shiny::runApp('/app/app_plot_demo.R', host='0.0.0.0', port=3000)"
42
66
```
43
67
44
68
The app will be available at http://localhost:3000
45
69
46
-
## Usage in Seqera Studios
47
-
48
-
To use this app in Seqera Studios:
70
+
## Using in Seqera Studios
49
71
50
-
Create a data link called 'shiny-inputs' and place your input file called 'data.csv' there.
72
+
> [!NOTE]
73
+
> For the common deployment process, see the [main README](../README.md#deploying-to-seqera-studios).
51
74
52
-
1. Select the **Studios** tab in your workspace
53
-
2. Click **Add Studio**
54
-
3. In the **General config** section:
55
-
- Select **Prebuilt container image** as the container template
56
-
- Enter your container image URI, for example: `cr.seqera.io/scidev/shiny-simple-example`
57
-
- Set a **Studio name** and optional **Description**
58
-
4. Configure compute resources in the **Compute and Data** section:
59
-
- Select your compute environment
60
-
- Adjust CPU, GPU, and memory allocations as needed
61
-
- Mount any required data using the **Mount data** option
62
-
5. Review the configuration in the **Summary** section
63
-
6. Click **Add and start** to create and launch the Studio
75
+
Additional steps specific to this example:
76
+
1. Create a data link called 'shiny-inputs' and place your input file called 'data.csv' there
77
+
2. Follow the common deployment process
78
+
3. When mounting data, ensure to mount 'shiny-inputs' using the **Mount data** option
64
79
65
80
## Notes
66
81
67
82
- The app uses a simple scatter plot to demonstrate Shiny's capabilities
68
83
- The Dockerfile uses micromamba for efficient package management
69
-
- The container is built for linux/amd64 platform compatibility
84
+
- The container is built for linux/amd64 platform compatibility
85
+
- Data files should be in CSV format
86
+
- The example includes a sample dataset for demonstration
This example contains a Dockerfile that builds a container image for running a Streamlit application with Seqera Studios.
3
+
This example provides a custom container image for running a [Streamlit](https://streamlit.io/) application with MultiQC visualization in Seqera Platform.
4
+
5
+
## Table of Contents
6
+
7
+
-[Overview](#overview)
8
+
-[Features](#features)
9
+
-[Files](#files)
10
+
-[Prerequisites](#prerequisites)
11
+
-[Local Testing](#local-testing)
12
+
-[Using in Seqera Studios](#using-in-seqera-studios)
13
+
-[Notes](#notes)
14
+
-[References](#references)
15
+
16
+
## Overview
17
+
18
+
This container is designed for use as a [custom Studio environment](https://docs.seqera.io/platform-cloud/studios/custom-envs) in Seqera Platform. It provides an interactive interface for visualizing MultiQC data using Streamlit.
4
19
5
20

6
21
@@ -19,14 +34,22 @@ For specific versions, use the release tag (e.g., `ghcr.io/seqeralabs/custom-stu
19
34
- Interactive data analysis and visualization
20
35
- Compatible with both local Docker testing and Seqera Studios
21
36
- Automatic data mounting via datalinks
37
+
- Python 3.11-based environment
22
38
23
39
## Files
24
40
25
41
-`Dockerfile`: Container definition using multi-stage build that clones the MultiQC example repository and its dependencies
26
42
43
+
## Prerequisites
44
+
45
+
-[Docker](https://www.docker.com/) installed
46
+
-[Wave](https://docs.seqera.io/platform-cloud/wave/) configured in your Seqera Platform workspace
47
+
- Access to a container registry (public or Amazon ECR) if you wish to push your image
48
+
- MultiQC data files for visualization
49
+
27
50
## Local Testing
28
51
29
-
To test the app locally for testing purposes you need to override the entrypoint:
0 commit comments