> For the complete documentation index, see [llms.txt](https://help.fovus.co/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.fovus.co/docs/pipeline/nextflow/nextflow-quickstart.md).

# Quickstart

Run your first Fovus-hosted Nextflow pipeline using the hello-world example.

This walkthrough submits the hello-world example pipeline using **Fovus-hosted** execution. You configure two files locally, submit through the Fovus CLI or Web UI, and Fovus runs Nextflow on cloud infrastructure — your machine can disconnect after submission.

## What you'll build

A folder with two files:

* `hello-world.nf` — a single-process Nextflow workflow
* `nextflow.config` — tells Nextflow to use the nf-fovus plugin and Fovus Storage for intermediate files

## Before you begin

* [Fovus CLI](https://help.fovus.co/cli/) installed and authenticated (`fovus auth login`)
* Access to a Fovus workspace
* A local folder for the two files (for CLI upload)

{% hint style="info" %}
Fovus-hosted submission does **not** require Nextflow installed on your machine. To run the Nextflow manager locally instead, see [Run with local Nextflow manager](/docs/pipeline/nextflow/pipeline-submission/local-hosted-manager.md).
{% endhint %}

***

{% stepper %}
{% step %}

#### Add hello-world.nf

Create `hello-world.nf` in your pipeline folder:

```nextflow
#!/usr/bin/env nextflow

process sayHello {

    publishDir 'results', mode: 'copy'

    output:
        path 'output.txt'

    script:
    """
    echo 'Hello World!' > output.txt
    """
}

workflow {
    sayHello()
}
```

{% endstep %}

{% step %}

#### Add nextflow\.config

Create `nextflow.config` in the same folder:

```groovy
plugins {
    id 'nf-fovus'
}

process {
    executor = 'fovus'
    container = 'ubuntu:22.04'
    ext.benchmarkingProfileName = 'Default CPU'
    ext.timeToCostPriorityRatio = '0.5/0.5'
}

docker {
    enabled = true
}

fovus {
    cliPath = 'fovus'
    pipelineName = 'Hello World with Fovus'
}

workDir = '/fovus-storage/pipelines'
```

{% hint style="warning" %}
`workDir` must end in `/pipelines`. The nf-fovus plugin uses this path for data transfer between compute nodes.
{% endhint %}

For annotated examples and per-process overrides, see [Prepare inputs and configure Nextflow](/docs/pipeline/nextflow/pipeline-submission/prepare-inputs.md). For every plugin parameter, see the [Nextflow configuration reference](/docs/pipeline/nextflow/nextflow-config-reference.md).
{% endstep %}

{% step %}

#### Submit (Fovus-hosted)

{% tabs %}
{% tab title="Fovus CLI" %}
From your terminal, replace `/path/to/hello-world` with the folder containing both files:

```bash
fovus pipeline create /path/to/hello-world \
  --name "Hello-world" \
  --run-command "nextflow run hello-world.nf"
```

The CLI uploads your files, creates the pipeline on Fovus, and starts execution. See [fovus pipeline create](https://help.fovus.co/cli/commands/pipeline/create.html) for all flags and options.
{% endtab %}

{% tab title="Fovus Web UI" %}

1. Open **Pipelines** and click **Create pipeline**.
2. Select **Nextflow** as the workflow manager.
3. Enter `nextflow run hello-world.nf` as the **Nextflow command**.
4. Upload `hello-world.nf` and `nextflow.config`, then click **Create pipeline**.

For optional setup commands and export/import, see [Run fully hosted by Fovus](/docs/pipeline/nextflow/pipeline-submission/fovus-hosted-manager.md).
{% endtab %}
{% endtabs %}
{% endstep %}
{% endstepper %}

***

## What's next?

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4><i class="fa-chart-line" style="color:$primary;">:chart-line:</i> Monitor your pipeline</h4></td><td>Review status, jobs, files, and live output on the pipeline detail page.</td><td><a href="/docs/pipeline/monitor-manage/pipeline-monitoring.md">Monitor your pipeline</a></td></tr><tr><td><h4><i class="fa-gear" style="color:$primary;">:gear:</i> Prepare inputs and configure Nextflow</h4></td><td>Full <code>nextflow.config</code> guide and input staging for real pipelines.</td><td><a href="/docs/pipeline/nextflow/pipeline-submission/prepare-inputs.md">Prepare inputs and configure Nextflow</a></td></tr><tr><td><h4><i class="fa-book" style="color:$primary;">:book:</i> Nextflow configuration reference</h4></td><td>Look up every nf-fovus parameter.</td><td><a href="/docs/pipeline/nextflow/nextflow-config-reference.md">Nextflow configuration reference</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.fovus.co/docs/pipeline/nextflow/nextflow-quickstart.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
