Add alternative Docker-based deployment
This enables deploying this service via a Docker image if we want to pivot to containers on bare metal. This can then be used to run the server as a long-lived container using e.g.
> docker run --detach --rm --name=metadaten_server --mount=type=volume,source=metadaten,target=/var/lib/metadaten --publish=127.0.0.1:8080:8080 --entrypoint=server.sh metadaten
and the harvester as a one-short container using e.g.
> docker run --detach --rm --name=metadaten_harvester --mount=type=volume,source=metadaten,target=/var/lib/metadaten --entrypoint=harvester.sh metadaten
To reduce downtime during server updates to a similar level as for the
package-based deployments without a postinst script, the expected procedure
would be to first run the indexer.sh entrypoint to create the index.new
folder
using the new schema, then stop the old metadaten_server
container and finally
start the new metadaten_server
container which will rename index.new
to
index
and immediately start without having to wait for re-indexing.