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 c9dac9ad5e Merge pull request 'master' (#241) from master into Docker
Reviewed-on: SGD-Nord/konova#241
2 years ago
analysis #231 Report geometry 2 years ago
api #238 Fix 2 years ago
codelist Autocomplete refactoring 2 years ago
compensation #238 Fix 2 years ago
ema #229 Shared users mandatory on admin 2 years ago
intervention Egon Payment compatibility 2 years ago
konova Merge pull request 'master' (#241) from master into Docker 2 years ago
locale/de/LC_MESSAGES #232 Payment document linkage 2 years ago
news # Migrations 3 years ago
templates Missing geometry html improvement 2 years ago
user Z-axis geometry upload fix 2 years ago
.gitignore # Migrations 3 years ago
Dockerfile Revert "Merge branch 'Docker' into master" 2 years 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 Revert "Merge branch 'Docker' into master" 2 years ago
docker-entrypoint.sh Revert "Merge branch 'Docker' into master" 2 years ago
manage.py Initial 3 years ago
nginx.conf Revert "Merge branch 'Docker' into master" 2 years ago
requirements.txt Revert "Merge branch 'Docker' into master" 2 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;
    }
}