Skip to main content
Complete the prerequisites before you start

Most importantly, download the Docker images in advance — depending on your connection, this can take a while.

Prerequisites

This tutorial will guide you through building a foundational data discovery portal for tabular CSV data using Elasticsearch, Arranger, and Stage.

Demo search and aggregation

Objectives:

  1. Deploy a functional data discovery portal using Elasticsearch, GraphQL, Arranger, and Stage
  2. Configure search interfaces and indices tailored to tabular datasets
  3. Gain familiarity with the tools needed to adapt this portal to your own data
  4. Understand deployment options for making portals accessible on institutional networks and beyond

Prerequisites

The following software should be installed and verified before you start:

1. Git git --version returns a version number

Download from git-scm.com if the command is not recognised.

2. Docker Desktop (28.0.0 or later)

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

3. Docker images pre-downloaded Most time-consuming step, run these before you start

Pull the required Docker images now to avoid slow downloads while working through this tutorial:

docker pull alpine/curl:8.8.0
docker pull postgres:15-alpine
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.27
docker pull ghcr.io/overture-stack/arranger-server:4919f736
docker pull ghcr.io/overture-stack/conductor:171d9ce
docker pull node:18-alpine

Verify all six downloaded:

docker images | grep -E "alpine/curl|postgres|elasticsearch|arranger-server|conductor|node"

You should see all six images listed.

4. Repository cloned: git clone -b quickstart https://github.com/overture-stack/prelude.git

The prelude repository contains everything needed for this tutorial: Docker Compose configuration, the Conductor wrapper script, and sample data. Clone it once before you start and you won't need internet access for the hands-on portion.

git clone -b quickstart https://github.com/overture-stack/prelude.git
5. (Windows only) WSL2 configured with Docker Desktop integration enabled
  1. Install WSL2
  2. Use Ubuntu or another Linux distribution within WSL2
  3. Enable Docker Desktop's WSL2 integration (Docker Desktop → Settings → Resources → WSL Integration)
  4. 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.

Optional Prerequisites

These are not required but will make this tutorial easier to follow:

6. (Optional) Elasticvue: browser-based Elasticsearch GUI

Elasticvue is a browser-based Elasticsearch GUI useful for inspecting indices, browsing documents, and troubleshooting. It is not required but helpful for understanding what's happening inside Elasticsearch while working through this tutorial.

Install it as a browser extension or standalone app.

7. (Optional) PostgreSQL GUI client

A PostgreSQL GUI client is useful for browsing the database while working through this tutorial. It is not required but helpful if you want to inspect the Postgres data directly.

OSRecommended client
macOSPostico
WindowspgAdmin
LinuxpgAdmin
8. (Optional) Bring your own data: CSV file

If you have a tabular dataset you'd like to use, bring it as a CSV file. This tutorial uses demo data throughout, but the final sections cover adapting the portal to your own dataset.

Support

Community supportcommunity support channels or contact@overture.bio
Bug reportsGitHub Issues

Verification Checklist

Before starting, confirm:

  1. git --version returns a version number
  2. docker --version returns 28.0.0 or later
  3. docker compose version returns a version number
  4. Docker Desktop is running with 4+ CPUs and 8 GB+ memory allocated
  5. All six Docker images are downloaded (docker images) — this is the most time-consuming step
  6. The repository is cloned and you can cd into it
  7. (Windows only) WSL2 is configured and Docker integration is enabled

Troubleshooting: If you run into issues, reach out via the community support channels.