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.
- Install Docker
- Install Docker Compose
-
Get the source code:
git clone https://github.com/eea/copernicus-insitu-db.git cd copernicus-insitu-db
-
Start application stack:
docker-compose up -d docker-compose ps
-
Run migrations, create superuser:
docker exec -it insitu.app sh python manage.py migrate python manage.py createsuperuser
-
Create read-only db user for explorer using the information from docker/init_explorer_db.sql
-
Create SQL views:
docker cp docker/create_views.sql insitu.db:create_views.sql docker exec -it insitu.db bash psql -U [psql_username] [psql_database] < create_views.sql
-
Create elasticsearch index and start the development server:
python manage.py search_index -f --rebuild python manage.py runserver 0.0.0.0:8000
-
Run tests:
docker exec -it insitu.app sh python manage.py test --settings=copernicus.test_settings
-
Check coverage:
docker exec -it insitu.app sh coverage run --source='.' ./manage.py test --settings=copernicus.test_settings python coverage html
-
See it in action: http://localhost:8000
-
Get the latest version of source code:
cd copernicus-insitu-db git pull origin master
-
Update the application stack, all services should be "Up":
docker-compose pull docker-compose up -d docker-compose ps
-
See it in action: http://localhost:8000
Customize docker orchestration for local development:
cp docker-compose.override.yml.example docker-compose.override.yml
-
Please make sure that
DEBUG = True
in the settings. -
Update docker-compose.override.yml file
app
section with the following so thatdocker-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 sh python manage.py runserver 0.0.0.0:8000
-
See it in action: http://localhost:8000
- Read-Only User
- create a new regular user and add the user group "ReadOnly"
- ProductEditor
- create a new regular user and add the user group "ProductEditor"
- PicklistsEditor
- create a new staff user and add the user group "PicklistsEditor"
-
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
python manage.py dumpdata explorer.query > explorer.json
To install
cd docs/
make html
After the documentation has changed, a new PDF file should be generated and it should replace the current file.
docker exec -it insitu.app sh
apk add texlive-full
cd docs/
make latexpdf
cp _build/latex/CIS2.pdf ../insitu/static/docs/CIS2.pdf