OpenNeuro Documentation
IntroductionAboutDevelopment setupComponentsOpenNeuro Command-line utility toolUser GuideGraphQL APICommand Line Interface
DataLad Service
Git AccessKubernetes MonitoringSite Maintenance


CodeCov Coverage Status styled with prettier


OpenNeuro is a free and open platform for analyzing and sharing neuroimaging data. It is based around the Brain Imaging Data Structure specification.

Development setup

This project is managed with Lerna and Yarn. To get started, install Yarn and bootstrap the repo.

yarn install && yarn bootstrap

You can run tests with yarn test at the top level of the project. For each package, yarn test --watch will interactively run the tests for changes since the last commit.

Before starting up the services, you will need to copy the example .env.example file to .env and config.env.example to config.env. Many of the values are optional, and most that aren't have default values included in their .example file. The exception is JWT_SECRET in config.env, which you will need to set to a large random string.

docker-compose is used to run a local copy of all required services together.

# This will run docker-compose in the background (-d flag is --detach)
yarn start -d

For example, you can restart the server container with docker-compose restart server or view logs with docker-compose logs -f --tail=10 server.


  • OpenNeuro app - React frontend.
  • OpenNeuro server - Node.js web backend.
  • DataLad service - DataLad microservice.
  • bids-app-host - Docker wrapper for cloud hosted job execution.
  • bids-validator - BIDS validation library.

OpenNeuro Command-line utility tool

OpenNeuro supports a CLI tool based on nodejs for uploading and downloading OpenNeuro datasets.