Service Portal für das Kompensationsverzeichnis. Offiziell als "KSP" deployed. https://ksp.naturschutz.rlp.de
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
mpeltriaux 65179eaaab Merge pull request 'HOTFIX' (#124) from master into Docker
Reviewed-on: SGD-Nord/konova#124
3 years ago
analysis # 86 Minor html/css tweaks 3 years ago
api #101 Team sharing tests 3 years ago
codelist # 110 Biotope codes 3 years ago
compensation #101 Datatype team migrations 3 years ago
ema #101 Datatype team migrations 3 years ago
intervention #101 Team mails 3 years ago
konova Merge pull request 'master' (#123) from master into Docker 3 years ago
locale/de/LC_MESSAGES #101 Team mails 3 years ago
news # Migrations 3 years ago
nginx Revert "Revert accidental docker->master merge" 3 years ago
templates #101 Team mails 3 years ago
user HOTFIX 3 years ago
.gitignore # Migrations 3 years ago
Dockerfile Revert "Revert accidental docker->master merge" 3 years ago
LICENSE_de.md # License update 3 years ago
LICENSE_en.md # 72 License 3 years ago
README.md Revert "Revert accidental docker->master merge" 3 years ago
docker-compose.yml Revert "Revert accidental docker->master merge" 3 years ago
manage.py Initial 3 years ago
requirements.txt Revert "Revert accidental docker->master merge" 3 years ago

README.md

Konova

Konova is the successor of KSP. It's build using the python webframework Django, the database postgresql and the css library bootstrap as well as the icon package fontawesome for a modern look, following best practices from the industry.

Background processes

!!! For non-docker run

Konova uses celery for background processing. To start the worker you need to run

$ celery -A konova worker -l INFO

More info can be found here. Redis must be installed.

Technical documentation

Technical documention is provided in the projects git wiki.

User documentation

A user documentation is not available (and not needed, yet).

Docker

To run the docker-compose as expected, you need to take the following steps:

  1. Create a database containing docker, using an appropriate Dockerfile, e.g. the following
version: '3.3'
services:
  postgis:
    image: postgis/postgis
    restart: always
    container_name: postgis-docker
    ports: 
      - 5433:5432
    volumes:
      - db-volume:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_USER=postgres
    networks:
      - db-network-bridge

networks:
  db-network-bridge:
    driver: "bridge"

volumes:
  db-volume:

This Dockerfile creates a Docker container running postgresql and postgis, creates the default superuser postgres, creates a named volume for persisting the database and creates a new network bridge, which must be used by any other container, which wants to write/read on this database.

  1. Make sure the name of the network bridge above matches the network in the konova docker-compose.yml
  2. Get into the running postgis container (docker exec -it postgis-docker bash) and create new databases, users and so on. Make sure the database konova exists now!
  3. Replace all CHANGE_ME_xy values inside of konova/docker-compose.yml for your installation. Make sure the SSO_HOST holds the proper SSO host, e.g. for the arnova project arnova.example.org (Arnova must be installed and the webserver configured as well, of course)
  4. Take a look on konova/settings.py and konova/sub_settings/django_settings.py. Again: Replace all occurences of CHANGE_ME with proper values for your installation.
    1. Make sure you have the proper host strings added to ALLOWED_HOSTS inside of django_settings.py.
  5. Build and run the docker setup using docker-compose build and docker-compose start from the main directory of this project (where the docker-compose.yml lives)
  6. Run migrations! To do so, get into the konova service container (docker exec -it konova-docker bash) and run the needed commands (python manage.py makemigrations LIST_OF_ALL_MIGRATABLE_APPS, then python manage.py migrate)
  7. Run the setup command python manage.py setup and follow the instructions on the CLI
  8. To enable SMTP mail support, make sure your host machine (the one where the docker container run) has the postfix service configured properly. Make sure the mynetworks variable is xtended using the docker network bridge ip, created in the postgis container and used by the konova services.
    1. Hint: You can find out this easily by trying to perform a test mail in the running konova web application (which will fail, of course). Then take a look to the latest entries in /var/log/mail.log on your host machine. The failed IP will be displayed there.
    2. Please note: This installation guide is based on SMTP using postfix!
    3. Restart the postfix service on your host machine to reload the new configuration (service postfix restart)
  9. Finally, make sure your host machine webserver passes incoming requests properly to the docker nginx webserver of konova. A proper nginx config for the host machine may look like this:
server {
    server_name konova.domain.org;

    location / {
        proxy_pass http://localhost:KONOVA_NGINX_DOCKER_PORT/;
        proxy_set_header Host $host;
    }
}