f069cdb0dc
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.
15 lines
401 B
Diff
15 lines
401 B
Diff
diff --git a/cps/__init__.py b/cps/__init__.py
|
|
index 627cca0b..233bb2dd 100644
|
|
--- a/cps/__init__.py
|
|
+++ b/cps/__init__.py
|
|
@@ -87,6 +87,9 @@ db.CalibreDB.setup_db(config, cli.settingspath)
|
|
|
|
calibre_db = db.CalibreDB()
|
|
|
|
+if os.environ.get('__RUN_MIGRATIONS_AND_EXIT'):
|
|
+ sys.exit(0)
|
|
+
|
|
def create_app():
|
|
app.wsgi_app = ReverseProxied(app.wsgi_app)
|
|
# For python2 convert path to unicode
|