Seqera Containers

Seqera Containers simplifies the container creation process for nf-core modules. This guide explains how to obtain Docker and Singularity containers from Seqera Containers for your nf-core modules.

Note

Currently, nf-core supports Seqera Containers as an alternative to the default biocontainers source. In the future, Seqera Containers will become the default source for all nf-core module containers. For more information, see the nf-core blog post.

Prerequisites

You will need the following to get started:

  • An environment.yml file defining your module’s dependencies
  • The package names for your required tools
  • Access to Seqera Containers

Module package requirements

nf-core modules should include only a single tool and its required dependencies. Avoid bundling multiple unrelated tools in a single container.

Generate containers

Follow these steps to generate both Docker and Singularity container URLs for your module:

  1. Visit the Seqera Containers website

  2. Add your required packages to the search bar. You can paste package names directly from your environment.yml file.

    Tip

    Test your environment.yml file locally using conda before generating containers.

This helps verify package compatibility and catch potential issues early. :::

  1. Set the Container setting to Docker

  2. Select Get Container

  3. Copy the generated Docker URL (without the https:// prefix)

  4. Change the Container setting to Singularity

  5. Select Get container

  6. Wait for the build to complete successfully

  7. Check the HTTPS checkbox

    • This option only appears after a successful build
  8. Copy the generated Singularity URL including the full https://community-cr-prod... prefix

  9. Add both URLs to your module’s container definition in main.nf:

    container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
        'https://community-cr-prod.seqera.io/<singularity-container-id>' :
        'community.wave.seqera.io/<docker-container-id>' }"
    Warning

    Docker URLs should not include the https:// prefix, while Singularity URLs must include it.

The HTTPS checkbox for Singularity only appears after the container builds successfully. :::

Additional resources