Girder portion of the dandiarchive setup
10K+
Infrastructure and code for the DANDI Archive.
Folders in this repo:
ansible: Ansible code for deploying girder-dandi-archive.docker: Docker files for building and deploying the application in Docker.girder-dandi-archive: A Girder plugin which adds the custom endpoints for the DANDI Archive.test: End-to-end tests for the entire application.web: The web application front-end, based on Vue.js.Ensure MongoDB is running locally.
Create a python3 virtual environment:
mkvirtualenv dandiarchive --python=python3
Install (in editable mode) the DANDI Archive plugin to Girder:
cd girder-dandi-archive
pip install -e .
girder build
girder serve
The Girder server will run at http://localhost:8080/.
Create an admin user, using Girder's web client:
http://localhost:8080/#?dialog=register.Create a filesystem assetstore:
http://localhost:8080/#assetstores.# within "girder-dandi-archive"
pip install -r requirements-dev.txt
tox
cd web
yarn install
Ensure the server is running locally (see above), then:
# within "web"
yarn run serve
The web app will be served at http://localhost:8085/.
# within "web"
yarn run lint
See test/README.md for end-to-end testing instructions.
Currently there is a docker-compose file which gets the necessary infrastructure up and running for dandiarchive.
In order to get up and running:
cd docker
docker-compose build
docker-compose up
This will spin up 4 containers:
Provision container creates a Girder admin user, creates a filesystem assetstore and set necessary CORS settings. Credentials are username: admin, password: letmein.
When the provision container finishes, it will exit. The other three containers will remain running.
After docker-compose up succeeds and the provision container finishes, you should have:
Functionality for dandi-publish is currently provided by a separate application. For local installations, you will need to install and run that application separately. You will also need an API key from dandi-publish, which can be generated by following the API Authentication instructions in the publish README. Then, configure the following setting variables in girder:
dandi.publish_api_url = http://localhost:12345/
dandi.publish_api_key = your_api_key
This can be done easily using the PUT /system/setting endpoint on the swagger page. Replace 12345 with whatever port dandi-publish is
running on.
NOTE: dandi.publish_api_url must include a trailing forward slash (/) for the URL to be parsed properly by Django.
Content type
Image
Digest
Size
540.1 MB
Last updated
over 5 years ago
docker pull dandiarchive/dandiarchive-girder