Skip to content

usnistgov/corr-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CoRR logo

CoRR – The Cloud of Reproducible Records

See a live instance at corr-root.org.

Travis CI Github Issues Github Pull Requests Binder Reathedocs Gitter Chat License

Platform Provisioning

The Cloud of Reproducible Records (CoRR) is a web app for storing, viewing and managing metadata associated with scientific code execution records.

This repository is the toolkit required to manage a development and production instance of the CoRR platform.

This toolkit allows a granular deployment of the different components of CoRR: db, api, cloud and frontend. The components can be deployed in the same host or in four different hosts.

Note: Before selecting your path of installation, please go to setup to make the appropriate Setup README needed for your option.

Native Linux Management

This management is based on a linux ready configuration with Ansible. For none linux systems report to the next section with docker. This setup was tested on Ubuntu systems: 14.04 to 16.04 and has proven to work. When using this native setup, your CoRR platform components (db, api, cloud , frontend) will be system services. They will all be addressable through the linux service API interface except for the frontend:

$ sudo service mongodb start/stop/restart
$ sudo service corrapi start/stop/restart
$ sudo service corrcloud start/stop/restart

Also these services except for Mongodb are all wrapped behind Nginx and moreover behind Gunicorn for corrapi and corrcloud and behind Jekyll for the frontend. The CoRR platform instance also handles the ufw firewall configurations.

To learn the specifics please refer to the Native README

Docker based Management

This management setup depends on Ansible and docker. It will most likely work on any systems supporting Ansible and docker-compose version 2.0. On a non native linux system you would want this setup. For linux systems you would still want this version for two reasons. Firstly, because the native one did not work for your specific linux system and that your system support docker and Ansible. Secondly, because you are more of a container geek. When using this setup, your CoRR platform components (db, api, cloud, frontend) will be docker containers. Differently from the native setup, the docker based one do not come with Nginx and ufw and will have to be managed separately after the deployment in a production environment. To manage individual containers in the platform, you need to have the docker-compose.yaml file and execute the following commands within its containing folder:

$ sudo docker-compose (run -d)/stop db
$ sudo docker-compose (run -d)/stop api
$ sudo docker-compose (run -d)/stop cloud
$ sudo docker-compose (run -d)/stop view

The whole platform can be managed with the following command:

$ sudo docker-compose up/down

To learn the specifics please refer to the Docker README

Setup an instance

After installing CoRR either as native Linux services or as Docker containers, a Setup step is required before launching the instance. Please open this file to follow the procedure to follow for the selected type of deployment. Without the proper setup, the CoRR launch will most likely fail.

About

CoRR platform deployment repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published