Easy to use web database for statistical maps.
Python HTML CSS JavaScript Shell Nginx Perl
Latest commit 2012f14 Jan 6, 2017 @chrisfilo chrisfilo committed on GitHub Merge pull request #575 from erramuzpe/down_col_zipname_correct
Down col zipname correct (2)
Failed to load latest commit information.
ahba_docker less cleanup Jun 13, 2016
scripts anima fixes Aug 22, 2016
.dockerignore added dockerignore Jun 27, 2015
HOW_TO_add_new fixtures.md
LICENSE Added MIT license Feb 11, 2016
README.md Updated Readme May 27, 2016
create_hstore_extension.sh fixed postgres init Sep 3, 2016
docker-compose.yml uplodaing works Nov 10, 2016
manage.py Further work on accounts. Apr 29, 2013
run_uwsgi.sh Solved triggering May 27, 2016
uwsgi.ini progress May 26, 2016
uwsgi_params.par Added nginx. Jun 27, 2015
wait-for-it.sh wait for db to initialize before running migrations Mar 12, 2016



Join the chat at https://gitter.im/NeuroVault/NeuroVault

Easy to use web database for human brain statistical maps, atlases and parcellation maps.

How to set up NeuroVault for local development?

Installing dependencies

  1. Fork the main repository (https://github.com/NeuroVault/NeuroVault)
  2. Clone your fork to your computer: git clone https://github.com/<your_username>/NeuroVault
    1. Warning: if you are using OS X you have to clone the repository to a subfolder in your home folder - /Users/<your_username>/... - otherwise docker-machine will not be able to mount code directories and may fail silently.
  3. Install docker >= 1.10 (If you are using OS X you'll also need docker-machine and VirtualBox)
  4. Install docker-compose >= 1.6
    1. If you are using OS X and homebrew steps 3 and 4 can be achieved by: brew update && brew install docker docker-machine docker-compose
  5. Make sure your docker daemon is running and environment variables are configured (on OS X: docker-machine create --driver virtualbox nv && docker-machine start nv && eval "$(docker-machine env nv)")

Running the server

docker-compose up -d

The webpage will be available at (unless you are using docker-machine - then run docker-machine ip nv to figure out which IP address you need to use; remember that your enviroment variables need to be properly configured by running eval "$(docker-machine env nv)"). Initially, some data will be available by default with username/password neurovault/neurovault and neurovault2/neurovault2.

You can also run the server in non detached mode (shows all the logs in realtime).

docker-compose up

Stopping the server

docker-compose stop

Restarting the server

After making changes to the code you need to restart the server (but just the uwsgi and celery components):

docker-compose restart nginx uwsgi worker

Reseting the server

If you would like to reset the server and clean the database:

docker-compose stop
docker-compose rm
docker-compose up

Running Django shell

docker-compose run --rm uwsgi python manage.py shell

Running tests

docker-compose run --rm uwsgi python manage.py test

Updating docker image

If you add a dependency to requirements.txt or modify Dockerfile you will need to rebuild the docker image

docker build -t neurovault/neurovault .

Using pycortex

To use pycortex you will need a different image (that includes FreeSurfer). Just change "neurovault/neurovault" with "neurovault/neurovault_fs" in docker-compose.yml. This image is significantly bigger and will take longer to download.

You can also build it locally

docker build -t neurovault/neurovault_fs -f fs_docker/Dockerfile .