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 513f10eef1 # Docker enhancement
* adds logging for gunicorn by default
* adds image tagging
* drops docker-compose environment setting in favor of .env usage (needs to be copied from .env.sample)
3 months ago
analysis Tests on analysis and compensation 1 year ago
api # 404 Extend API 5 months ago
codelist Autocomplete refactoring 2 years ago
compensation # Admin backends 6 months ago
ema # Admin backends 6 months ago
intervention # Environment 6 months ago
konova Merge branch 'refs/heads/master' into Docker 3 months ago
locale/de/LC_MESSAGES # 382 - Redirect as 404 8 months ago
news # Admin backends 6 months ago
templates # Geopackage import configuration 3 months ago
user # OAuth Propagation 5 months ago
.env.sample # Updates sso 4 months ago
.gitignore # Environment 6 months ago
Dockerfile # Docker enhancement 3 months ago
LICENSE_de.md # License update 3 years ago
LICENSE_en.md # 72 License 3 years ago
README.md Revert "Merge branch 'Docker' into master" 2 years ago
docker-compose.yml # Docker enhancement 3 months ago
docker-entrypoint.sh # Docker enhancement 3 months ago
manage.py Initial 3 years ago
nginx.conf Revert "Merge branch 'Docker' into master" 2 years ago
requirements.txt # Requirements update 4 months 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;
    }
}