{"id":43568925,"url":"https://github.com/openneuroorg/openneuro","last_synced_at":"2026-04-02T12:07:28.290Z","repository":{"id":37547040,"uuid":"100310240","full_name":"OpenNeuroOrg/openneuro","owner":"OpenNeuroOrg","description":"A free and open platform for analyzing and sharing neuroimaging data","archived":false,"fork":false,"pushed_at":"2026-01-29T21:41:32.000Z","size":87232,"stargazers_count":139,"open_issues_count":188,"forks_count":43,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-01-30T10:34:09.109Z","etag":null,"topics":["bids","datasets","graphql","neuroimaging","neuroscience","react"],"latest_commit_sha":null,"homepage":"https://openneuro.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenNeuroOrg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-08-14T21:17:17.000Z","updated_at":"2026-01-29T21:41:36.000Z","dependencies_parsed_at":"2023-09-26T20:30:27.802Z","dependency_job_id":"4a0f4c04-40bd-4dc9-9fb5-ea2a6f81d1cb","html_url":"https://github.com/OpenNeuroOrg/openneuro","commit_stats":{"total_commits":9697,"total_committers":46,"mean_commits":"210.80434782608697","dds":0.6380323811488089,"last_synced_commit":"857ca2721024db7e6bc0dea5ab6efef59d6f7039"},"previous_names":[],"tags_count":675,"template":false,"template_full_name":null,"purl":"pkg:github/OpenNeuroOrg/openneuro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNeuroOrg%2Fopenneuro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNeuroOrg%2Fopenneuro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNeuroOrg%2Fopenneuro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNeuroOrg%2Fopenneuro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenNeuroOrg","download_url":"https://codeload.github.com/OpenNeuroOrg/openneuro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNeuroOrg%2Fopenneuro/sbom","scorecard":{"id":105455,"data":{"date":"2025-08-11","repo":{"name":"github.com/OpenNeuroOrg/openneuro","commit":"c74ebada642b63d48c4418e04cc857e52b191d99"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":7,"reason":"Found 7/10 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/deno-jsr.yml:15","Info: topLevel 'contents' permission set to 'read': .github/workflows/codespell.yml:12","Warn: no topLevel permission defined: .github/workflows/deno-jsr.yml:1","Warn: no topLevel permission defined: .github/workflows/deno.yml:1","Warn: no topLevel permission defined: .github/workflows/docker-publish.yml:1","Warn: no topLevel permission defined: .github/workflows/docker.yml:1","Warn: no topLevel permission defined: .github/workflows/docs.yml:1","Warn: no topLevel permission defined: .github/workflows/eslint.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/health-check.yml:25","Warn: no topLevel permission defined: .github/workflows/python.yml:1","Warn: no topLevel permission defined: .github/workflows/typescript.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker-publish.yml:7"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: services/datalad/.nx/cache/19.0.3-nx.linux-x64-gnu.node:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codespell.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/codespell.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/codespell.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/codespell.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deno-jsr.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/deno-jsr.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deno-jsr.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/deno-jsr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deno.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/deno.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deno.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/deno.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deno.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/deno.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docker-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docker-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docker-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docker-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/eslint.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/eslint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/eslint.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/eslint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/health-check.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/health-check.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/health-check.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/health-check.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/python.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/python.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/python.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/python.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/python.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/python.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/python.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/python.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/typescript.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/typescript.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/typescript.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/typescript.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/typescript.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNeuroOrg/openneuro/typescript.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: packages/openneuro-app/Dockerfile:1","Warn: containerImage not pinned by hash: packages/openneuro-app/Dockerfile:6","Warn: containerImage not pinned by hash: packages/openneuro-indexer/Dockerfile:1","Warn: containerImage not pinned by hash: packages/openneuro-server/Dockerfile:1","Warn: containerImage not pinned by hash: packages/openneuro-server/Dockerfile:7: pin your Docker image by updating node:20.12.2-alpine to node:20.12.2-alpine@sha256:7a91aa397f2e2dfbfcdad2e2d72599f374e0b0172be1d86eeb73f1d33f36a4b2","Warn: containerImage not pinned by hash: services/datalad/Dockerfile:2","Warn: containerImage not pinned by hash: services/datalad/Dockerfile:3","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:27","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of   8 containerImage dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"52 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-7q7g-4xm8-89cq","Warn: Project is vulnerable to: GHSA-xffm-g5w8-qvg7","Warn: Project is vulnerable to: GHSA-h5c3-5r3r-rr8q","Warn: Project is vulnerable to: GHSA-rmvr-2pp2-xj38","Warn: Project is vulnerable to: GHSA-xx4v-prfh-6cgc","Warn: Project is vulnerable to: GHSA-593m-55hh-j8gv","Warn: Project is vulnerable to: GHSA-r5w7-f542-q2j4","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-7gc6-qh9x-w6h8","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-67mh-4wv8-2f99","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-4q6p-r6v2-jvc5","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-3j8f-xvm3-ffx4","Warn: Project is vulnerable to: GHSA-j9fq-vwqv-2fm2","Warn: Project is vulnerable to: GHSA-pqw5-jmp5-px4v","Warn: Project is vulnerable to: GHSA-f794-r6xc-hf3v","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-64vr-g452-qvp3","Warn: Project is vulnerable to: GHSA-9cwx-2883-4wfx","Warn: Project is vulnerable to: GHSA-vg6x-rcgg-rjx6","Warn: Project is vulnerable to: GHSA-x574-m823-4x7w","Warn: Project is vulnerable to: GHSA-4r4m-qw57-chr8","Warn: Project is vulnerable to: GHSA-xcj6-pq6g-qj4x","Warn: Project is vulnerable to: GHSA-356w-63v5-8wf4","Warn: Project is vulnerable to: GHSA-859w-5945-r5v3","Warn: Project is vulnerable to: GHSA-9crc-q9x8-hgqq","Warn: Project is vulnerable to: GHSA-cchq-frgv-rjh5","Warn: Project is vulnerable to: GHSA-g644-9gfx-q4q4","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-15T11:00:23.088Z","repository_id":37547040,"created_at":"2025-08-15T11:00:23.088Z","updated_at":"2025-08-15T11:00:23.088Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29058978,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T20:13:53.544Z","status":"ssl_error","status_checked_at":"2026-02-03T20:13:40.507Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bids","datasets","graphql","neuroimaging","neuroscience","react"],"created_at":"2026-02-03T22:00:37.888Z","updated_at":"2026-02-03T22:01:05.897Z","avatar_url":"https://github.com/OpenNeuroOrg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [OpenNeuro](https://openneuro.org)\n\n[![CodeCov Coverage Status](https://codecov.io/gh/OpenNeuroOrg/openneuro/branch/master/graph/badge.svg)](https://codecov.io/gh/OpenNeuroOrg/openneuro)\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n\n## About\n\nOpenNeuro is a free and open platform for analyzing and sharing neuroimaging data. It is based around the [Brain Imaging Data Structure specification](http://bids.neuroimaging.io/).\n\n## Development setup\n\nThis project is managed with [Lerna](https://lerna.js.org/) and [Yarn](https://yarnpkg.com/). To get started, install Yarn and bootstrap the repo.\n\n```shell\nyarn install\n```\n\nYou 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.\n\nBefore 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. Required values below:\n\n- `JWT_SECRET` in `config.env` must be set to a large random string.\n- `PERSISTENT_DIR` in `.env` is an absolute path to a directory that will be used to store datasets. This should be a git-annex compatible filesystem and large enough to store some test datasets.\n\nTo setup Google as an authentication provider, [register a new client app](https://developers.google.com/identity/protocols/oauth2/javascript-implicit-flow) and set the following variables. For development use, you will create a new Google project with oauth credentials for a JavaScript client side app. \"Authorized JavaScript Origins\" is set to `http://localhost:9876` and \"Authorized Redirect URIs\" is set to `http://localhost:9876/crn/auth/google/callback` for a site accessible at `http://localhost:9876`.\n\n```\n# Ending in .apps.googleusercontent.com\nGOOGLE_CLIENT_ID=\n# 24 character secret string\nGOOGLE_CLIENT_SECRET=\n```\n\n[podman-compose](https://github.com/containers/podman-compose) is used to run a local copy of all required services together.\n\n#### macOS Development Setup\n\nIf you're working on macOS and encounter issues with file watching in Vite, use the following environment variables (in config.env):\n\n```\nCHOKIDAR_USEPOLLING=true\n```\n\nIf you're working on macOS and encounter issues with elastic search, use the following environment variables (in config.env):\n\n```\nES_JAVA_OPTS: -XX:UseSVE=0\nCLI_JAVA_OPTS: -XX:UseSVE=0\n```\n\n```shell\n# This will run podman-compose in the background (-d flag is --detach)\npodman-compose up -d\n```\n\nFor example, you can restart the server container with `podman-compose restart server` or view logs with `podman-compose logs -f --tail=10 server`.\n\n## Major Components\n\n- [OpenNeuro app](https://github.com/OpenNeuroOrg/openneuro/tree/master/packages/openneuro-app) - React frontend\n- [OpenNeuro server](https://github.com/OpenNeuroOrg/openneuro/tree/master/packages/openneuro-server) - Node.js GraphQL API\n- [OpenNeuro indexer](https://github.com/OpenNeuroOrg/openneuro/tree/master/packages/openneuro-indexer) - ElasticSearch indexer\n- [OpenNeuro command line tools](https://github.com/OpenNeuroOrg/openneuro/tree/master/cli) - Deno command line tools for uploading and downloading datasets\n- [DataLad service](https://github.com/OpenNeuroOrg/datalad-service) - [DataLad](http://datalad.org/) compatible dataset worker microservice\n- [bids-validator](https://github.com/bids-standard/bids-validator) - BIDS validation library\n\nJavaScript packages are published in the `@openneuro` npm namespace.\n\n## OpenNeuro Command-line utility tool\n\nOpenNeuro supports a [CLI tool](https://docs.openneuro.org/openneuro-packages-openneuro-cli-readme) based on [nodejs](https://nodejs.org/en/) for uploading and downloading OpenNeuro datasets.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenneuroorg%2Fopenneuro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenneuroorg%2Fopenneuro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenneuroorg%2Fopenneuro/lists"}