This is a collection of open topics for the services and especially the manager:

1. Persistence of service configuration
The configuration of services in the manager admin panel should be persisted in a database.
Additionally the docker configuration needs to be extended to have a volume for the database that lives longer than a container.
