Public | Automated Build

Last pushed: 5 days ago
Short Description
Copernicus In Situ Component Information System
Full Description

Copernicus In Situ Component Information System

The Copernicus In-Situ Coordination (GISC) project aimed at linking in-situ data providers and Copernicus service providers to ensure access to in-situ data for Copernicus services.

The application provides up-to-date information across the
Copernicus services on in situ data requirements (current and expected), data used, gaps, data providers, access arrangements, and partnerships.



Prerequisites

Installing the application

  1. Get the source code:

     $ git clone https://github.com/eea/copernicus-insitu-db.git
     $ cd copernicus-insitu-db
    
  2. Customize env files and docker-compose.yml:

     $ cp docker/app.env.example env/app.env
     $ vim docker/app.env
     $ cp docker/postgres.env.example env/postgres.env
     $ vim docker/postgres.env
     $ cp docker-compose.yml.example docker-compose.yml
     $ vim docker-compose.yml
    
  3. Start application stack:

     $ docker-compose up -d
     $ docker-compose logs
    
  4. Run migrations, create superuser, create elasticsearch index and start the
    development server:

     $ docker exec -it insitu_app bash
     $ ./manage.py migrate
     $ ./manage.py createsuperuser
     $ ./manage.py search_index --rebuild
     $ ./manage.py runserver 0.0.0.0:8000
    
  5. Run tests:

     $ docker exec -it insitu_app bash
     $ ./manage.py test --settings=copernicus.testsettings
    
  6. Check coverage:

     $ docker exec -it insitu_app bash
     $ coverage run --source='.' ./manage.py test --settings=copernicus.testsettings
     $ coverage html
    
  7. See it in action: http://localhost:8000

Upgrading the application

  1. Get the latest version of source code:

     $ cd copernicus-insitu-db
     $ git pull origin master
    
  2. Update the application stack, all services should be "Up":

     $ docker-compose pull
     $ docker-compose up -d
     $ docker-compose ps
    
  3. See it in action: http://localhost:8000

Debugging

Customize docker orchestration for local development:

    $ cp docker-compose.override.yml.example docker-compose.override.yml
  • Please make sure that DEBUG=True in app.env file.

  • Update docker-compose.override.yml file app section with the following so that docker-entrypoint.sh
    is not executed:

      entrypoint: ["/usr/bin/tail", "-f", "/dev/null"]
    
  • Attach to docker container and start the server in debug mode:

      $ docker exec -it insitu_app bash
      # ./manage.py runserver 0.0.0.0:8000
    
  • See it in action: http://localhost:8000

Ubuntu elasticsearch container error:

  • If your host runs ubuntu your elasticsearch container may fail to run with the error "bootstrap checks failed". This happens because max map count is set under the value 262144
  • You can fix this temporarily(till you restart your machine) by running:

      sudo sysctl -w vm.max_map_count=262144
    
  • You can fix this permanently by modifying your max_map_count file:

      sudo vim /proc/sys/vm/max_map_count
    

    Change the value from the file with 262144 and save

Docker Pull Command
Owner
eeacms
Source Repository