Code Monkey home page Code Monkey logo

neurovault's Introduction

NeuroVault.org

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

Easy to use web database for 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
  3. 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.
  4. Install docker >= 1.10 (If you are using OS X you'll also need docker-machine and VirtualBox)
  5. Install docker-compose >= 1.6
  6. 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
  7. 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 127.0.0.1 (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 (e.g., a new pip install) or modify the Dockerfile in any way, 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 .

Pay special close attention that the command above ends with a . to indicate the present working directory, the base of the code repository.

neurovault's People

Contributors

abitrolly avatar asfox avatar burnash avatar chrisgorgo avatar cmaumet avatar dankessler avatar erramuzpe avatar gitter-badger avatar ichait avatar infocortex avatar jadecci avatar jbwexler avatar jokedurnez avatar margulies avatar miykael avatar rwblair avatar tyarkoni avatar vsoch avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.