There are two patches applied to 'calibre-web' in order to make it more
NixOS friendly:
- default-logger.patch switches default log output to /dev/stdout, as
otherwise calibre-web tries to open a file relative to its location,
which it can't do as the store is read-only. It's not possible to
pass log file location via command line flags.
- run-migrations.patch adds an env var __RUN_MIGRATIONS_AND_EXIT that,
when set, instructs calibre-web to run DB migrations and exit. As
almost all config parameters are configured via UI in sqlite3 DB,
this patch allows the DB to be pre-created so it can be updated by
systemd pre-start script later. Thus, allowing calibre-web to be
configured declaratively.