File Download
This guide is for anyone seeking guidance on how to download data from an Overture platform.
You will need Docker installed. We recommend using Docker Desktop; for more information, visit Docker's website.
Visual Summary:

Prerequisites
Install and verify the following before you start.
1. WSL2 Setup (windows only)
Docker Desktop on Windows runs on WSL2, so configure it before installing Docker Desktop below:
- Install WSL2
- Use Ubuntu or another Linux distribution within WSL2
- Enable Docker Desktop's WSL2 integration (Docker Desktop → Settings → Resources → WSL Integration)
- Run all commands from a Bash terminal inside WSL2, not PowerShell or Command Prompt. To open one, search for your Linux distribution (e.g. "Ubuntu") in the Start menu.
2. Git installed
Download from git-scm.com if the command is not recognised.
3. Docker Desktop (28.0.0 or later)
- macOS / Windows: Download from docker.com/products/docker-desktop
- Linux: Follow the Docker Engine install guide
Once installed, open Docker Desktop → Settings → Resources and set:
- CPUs: 4+ cores (8 recommended)
- Memory: 8 GB minimum
- Disk: 10 GB+ available
Please ensure docker --version and docker compose version both return version numbers, and Docker Desktop is running with 4+ CPUs and 8 GB+ memory allocated
Getting Started
This guide uses a dedicated demo environment: the docs-demo/file-transfer branch of the Overture Prelude repository. It is a self-contained Overture portal (Song, Score, Maestro, MinIO, Arranger, and Stage).
1. Clone the demo branch
git clone -b docs-demo/file-transfer https://github.com/overture-stack/prelude.git
cd prelude
2. Start the platform with sample data
make demo
Ensure enough resources are allocated to Docker. We recommend a minimum CPU limit of 8, memory limit of 8 GB, swap of 2 GB, and virtual disk limit of 64 GB. You can access these settings by selecting the cog wheel at the top right of the Docker Desktop app and selecting Resources from the left panel. Ensure you are on Docker Desktop version 4.39.0 or higher.
make demo starts the stack and loads the sample dataset (3 donors, 12 files). Once indexing completes, the portal at localhost:3000 shows 12 records ready to download. If you already started the platform with make platform, run make submit to load the sample data.
Data Download with the Score Client
Generate a Manifest
- Build your query: Open the portal's file repository at
localhost:3000/fileTableand use the search facets and data table to narrow your selection. The file count updates in real time.

- Download your manifest: With your data of interest selected, click the Download dropdown and select File Manifest.
Why a manifest?
The file manifest is a tab-separated (TSV) list of the files matching your query. Score uses it to locate and download your data efficiently. We use manifests with a dedicated file-transfer service because large genomic datasets require reliable multi-part download sessions, which are not suitable for browser-based transfers.
Run the Score Client
Authentication is disabled in this demo, so a fixed placeholder access token is used. The client runs as a Docker container joined to the platform's internal network (overture-demo_platform-network) so it can reach Song and Score by hostname.
docker run -d -it --name score-client \
-e ACCESSTOKEN=68fb42b4-f1ed-4e8c-beab-3724b99fe528 \
-e STORAGE_URL=http://score:8087 \
-e METADATA_URL=http://song:8080 \
--network overture-demo_platform-network \
--platform linux/amd64 \
--mount type=bind,source="$(pwd)/data",target=/data \
ghcr.io/overture-stack/score-client:ee758b91
Click here for a detailed breakdown
-
-druns the container in detached mode, so it runs in the background -
-itcombines-i(interactive) and-t(allocate a pseudo-TTY), allowing you to interact with the container -
-e ACCESSTOKEN=...supplies the access token. Auth is disabled in this demo, so the value is accepted without being checked -
-e STORAGE_URL=http://score:8087is the Score server the client interacts with, reachable by hostname on the platform network -
-e METADATA_URL=http://song:8080is the Song server the client interacts with -
--network overture-demo_platform-networkjoins the container to the platform's internal network sosongandscoreresolve -
--platform linux/amd64selects the image architecture -
--mount type=bind,source="$(pwd)/data",target=/datamounts the localdata/directory into the container. Downloaded files and the manifest are shared through this directory
Download your Data
Place the manifest downloaded from the portal into the data/ directory of the cloned repository. For simplicity, rename it to manifest.tsv. Then run:
docker exec score-client sh -c "score-client download --manifest /data/manifest.tsv --output-dir /data/downloads"
-
--manifest /data/manifest.tsvpoints at the manifest you downloaded from the portal -
--output-dir /data/downloadsis where the files are written
If successful, the Score client produces logs like the following, and your files are written to ./data/downloads/:
Downloading...
---------------------------------------------------------------------------------------------------------------------------------------------------------------
[1/2] Downloading object: 5b3bf92a-8f57-54b9-9ab9-6dcf34a0dc78 (DO001.snv.vcf.gz)
---------------------------------------------------------------------------------------------------------------------------------------------------------------
100% [#########################] Parts: 1/1, Checksum: 100%, Write/sec: 177.7K/s, Read/sec: 177.7K/s
Finalizing...
Total execution time: 122.6 ms
Total bytes read : 17,346
Total bytes written : 17,346
Verifying checksum...Done.
Clean up
Remove the client container when finished:
docker rm -f score-client
Exporting Search Results (No Download)
To export the filtered table as a spreadsheet without downloading files:
- Apply your filters in the portal
- Click Download, then File Table
This downloads a TSV with the rows for all matching records. No Score client or manifest is needed.
Help us make our guides better If you can't find what you're looking for please don't hesitate to reach out through our support page or our discussion forum.