1. Installation

The Cybercommons framework is a Django Rest Framework API. The API leverages MongoDB to provide a Catalog and Data Store for storing metadata and data within a JSON document database. The API also includes Celery which is an asynchronous task queue/jobs based on distributed message passing.

1.1. Requirements

  • Docker

  • Docker Compose

    • pip install docker-compose

  • GNU Make or equivalent

1.2. Installation

  1. Clone Repository

    git clone https://github.com/cybercommons/cybercommons.git
    
  2. Edit values within dc_config/cybercom_config.env

  3. Copy secrets_template.env into secrets.env under the same folder and add required credentials into it.

  4. Initialize database and generate internal SSL certs

    make init
    
  5. Build and Deploy on local system.

    make build
    make superuser
    make run
    
  6. Make Django’s static content available. It only needs to be run once or after changing versions of Django.

    make collectstatic
    
  7. API running http://localhost

    • Admin credentials set from above make superuser

  8. Shutdown cybercommons

    make stop
    

1.3. cybercommons Installation on servers with a valid domain name.

  1. Edit values within dc_config/cybercom_config.env[NGINX_HOST,NOTIFY_EMAIL,NGINX_TEMPLATE(These values must be set).

  2. Copy secrets_template.env into secrets.env under the same folder and add required credentials into it.

  3. Initialize database and generate internal SSL certs

    make init
    
  4. Initialize and Get TLS certificates from LetsEncrypt

    make init_certbot
    
  5. Build and Deploy on local system.

    make build
    make superuser
    make run
    
  6. Make Django’s static content available. This only needs to be ran once or after changing versions of Django.

    make collectstatic
    
  7. API running https://{domain-name-of-server}

    • Admin credentials set from above make superuser

  8. Shutdown cybercommons

    make stop
    

1.4. TODO

  1. Integration with Kubernetes