The previous setup was broken
This commit also adds some code to check that the database connection is
valid before it starts, as well as refactors the code that splits
between starting and external or internal server.
This commits adds the following:
- Better systemd integration and usage:
- More hardening
- A watchdog thread
- Journald native logging
as well as
- Better logs
- Some protocol usage fixes