Neurosynth web app
Clone or download
Latest commit b2652b4 Aug 18, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data add sample locations Aug 7, 2018
deploy typo Feb 5, 2015
nginx add nginx alias for /api/v2 --> /api Aug 17, 2018
nsweb fix link to swagger JSON Aug 17, 2018
scripts fix conditional Aug 7, 2018
tests update tests Jul 17, 2018
.gitignore re-add migrations Apr 24, 2015
Dockerfile upgrade pip to fix wheel issues Aug 3, 2018
README.md Update README.md Aug 7, 2018
docker-compose.yml replace container link Aug 7, 2018
manager.py core changes Jul 12, 2018
requirements.txt refactored docker setup Jul 12, 2018
runserver.py core changes Jul 12, 2018
setup.py major changes Jun 5, 2014
setup_database.py generate topic maps Aug 7, 2018

README.md

neurosynth-web

This is the stuff that runs neurosynth.org.

Installation

The easiest way to get a dev environment up and running is using Docker. Instructions:

  1. Install Docker.

  2. Install docker-compose with pip:

    pip install docker-compose

  3. Clone this repository somewhere convenient:

    git clone https://github.com/neurosynth/neurosynth-web.git

  4. Optional: You can edit default app settings if you'd like to change the behavior of Neurosynth or store data/images in non-standard locations. By default, the settings template in nsweb/initializers/settings_template.py will be copied to nsweb/initializers/settings.py the first time you start up the service. The default settings should run fine, but if for some reason you want to change settings, you can either (a) edit the settings_template.py file directly (not recommended), or (b) manually copy settings_template.py to settings.py and edit the latter. Some settings you may want to edit:

  • By default, PROTOTYPE = True, which limits the database generation process to a small subset of available terms and studies. This will preserve all of the website's functionality for development purposes, without taking several hours to generate images. If you'd rather work with the full dataset, set PROTOTYPE = False.
  1. Optional: You can edit the docker-compose.yml file in the repository root to point to a folder on your host system where you want all data files generated by the Neurosynth server code to live. By default, all data will be generated in nsweb/data/. If you'd rather have the data live somewhere else, change the data:/data:rw line under "volumes" inside the "neurosynth" service. For example, if you want files written to /opt/data on your host machine, replace the above line with /opt/data:/data:rw.

  2. Use docker-compose to build the Docker image. This should take anywhere between ten minutes and a couple of hours, depending on the speed of your connection and machine, plus local availability of intermediate images. From the root of the cloned neurosynth-web repository, politely ask docker-compose to set everything up and run in the background:

    docker-compose up -d

That's it! You should now be able to point your browser to http://localhost and view a local version of Neurosynth.org. Be aware that some functionality will be crippled, as some of the data served by the production Neurosynth website are too large to include in this distribution (e.g., there are 300 GB of functional connectivity maps, so we only include maps for a few coordinates as fixtures in this repository).

Note that it can take a while (on a modern machine, perhaps 10 - 30 minutes) to fully create the Neurosynth database and various support files the first time you run docker-compose up. So if you get errors in your browser, you may need to wait a while (you can keep retrying).