Currently gunicorn is started in the entrypoint as subprocess. This
means that the entrypoint stays as process with PID 1 and eats the
signals that e.g. kubernetes sends to it. Thus when trying to update
the container, kubernetes must terminate the process ungracefully.
See e.g. this resources for a more detailed explanation:
https://hynek.me/articles/docker-signals/
This change replaces the entrypoint-shellscript with gunicorn, such that
signals are directly forwarded to gunicorn, where they are then handled.
One drawback of this approach is that lines after `exec gunicorn` are
not executed anymore. This currently affects `echo "END /entrypoint.sh"`.
A different approach would be to use `tini` to handle the system (see
link above). To do this, we would need to install tini.
* Bump gdal to v3
* Fix query duplicates with bbox for PG
* Add backward compatibility for axis order
* Move travis to bionic dist
Fix gdal version 3 on travis by pinning latest ubuntu unstable release
Fix ubuntugis sources on travis
Remove pinned python gdal version
Add mongodb start
Enable mongod service
Fix package name
Install mongo from official community repos
Add mongo enable and start commands
* Fix wrong axis mapping strategy
Add author
* Move base image to bullseye for docker build
* Fix remaining unchanged places for #364
* Make image size smaller
* Add docker build and cite tests
Fix python version
Move steps after docker build elsewhere
Fix uppercase characters
Fix internal port
Daemonize the run process
* Check logs and run test command from the entrypoint
* Remove the execution of mongo tests for test command
Remove the execution of mongo tests for test command
Fix failed command
* Add delay and move build to install step
Remove grep command for now
Use single quote