This is a little Django web application that does an OpenDrift Leeway simulation with a set of provided parameters via a web form. The result is sent to a user via e-mail.
This is an experimental tool to help Search and Rescue operations. An experimental service is available at leeway.tuerantuer.org.
Sample output from the leeway tool (100 points, 1km radius, south of Lampedusa):
Django users have to be created in the CRUD backend, available at https://leeway.example.com/admin. E-mail addresses should be added for users as they receive the result via e-mail.
The program regularly fetches incoming mails via IMAP and starts simulations from key-value-pairs in the mail subject or text body. The sender of the mail needs to have an associated account. Allowed keys via e-mail are: longitude
, latitude
, object_type
, radius
, duration
, start_time
. The separator between key and value is =
. Key-value-pairs are separated by ;
in the subject and by new lines in the text body. The date format for start date is YYYY-MM-DD HH:MM:SS
.
API documentation can be found at: https://leeway.tuerantuer.org/api/docs/
Authentication can be provided in two ways:
Prerequisite: Python 3.8 or later is required.
git clone git@github.com:digitalfabrik/opendrift-leeway-webgui.git leeway
cd leeway
python3 -m venv ~/.venv
source ~/.venv/bin/activate
pip install -e .[dev]
/etc/opendrift-leeway-webgui.ini
to enable DEBUG
mode:
[base]
DEBUG = True
cd opendrift_leeway_webgui
python3 manage.py migrate
python3 manage.py createsuperuser
cd opendrift
docker build -t opendrift-leeway-custom .
opendrift_leeway_webgui
subdirectory.source ../.venv/bin/activate
python3 manage.py runserver
source ../.venv/bin/activate
celery -A leeway worker -l INFO
Run bumpver update
to perform the following tasks with one command:
pyproject.toml
This details the installation on Debian with Apache2 and mod_wsgi.
sudo mkdir /opt/iopendrift-leeway-webgui
sudo chown www-data:www-data /opt/opendrift-leeway-webgui
sudo -u www-data bash
python3 -m venv .venv
source .venv/bin/activate
pip install opendrift-leeway-webgui
/etc/opendrift-leeway-webgui.ini
and fill in the templatedocker
group to the www-data
user.ln -s $(python -c "from opendrift_leeway_webgui.core import wsgi; print(wsgi.__file__)") .
leeway-celery.service
and start the service.