[Kavita] Question About Database Locations for ZFS Storage Improvements #3506
Replies: 2 comments 3 replies
-
Kavita's db location is not configurable. The path is hard coded relative to the config folder. The config folder contains all the state needed for Kavita. I have no plans to change this. You can experiment with different settings on the db directly, I don't think there will be much gains or complications with Kavita, but I also have no experience with the settings you are speaking to. |
Beta Was this translation helpful? Give feedback.
-
Using docker you could mount a file directly instead of a whole folder. That would let you store your Kavita DB elsewhere on your local disk but still have it show up in the config folder inside the container. Just know you're getting out supported setup territory very quickly here. |
Beta Was this translation helpful? Give feedback.
-
Idea Description
Putting this here since it's not really a bug report or issue, rather a configuration request / want.
Per the OpenZFS guidelines, I want to set SQLite's page. I do this with every application using SQLite (such as Frigate, HomeAssistant, Jellyfin, etc) and I'm currently in the process of migrating my server and looking into using Kavita to replace both Calibre-Web and Komga.
However, from what I can see, the config directory for Kavita also has a lot of other things in it - and I have no idea if that might change (ie to make datasets of them instead). Stuff that should probably have a larger recordsize, though. Before I get too deep into the install, I want to have it setup right. Is there a way to set the path for the database so that it is mounted in a subfolder? Particularly with a docker image? Because it's a WAL setup, I don't want to place the sqlite DB on a different dataset and mount it explicitly, it would be better to have the transaction log / etc in the same place. This would allow me to create a separate dataset with 64K recordsize, and use 1M for the rest which seems to be stuff like images and other things that are more sync loads. Using Jellyfin as an example:
I checked both LSCR and the Docker images, but both only show a single config directory. Issue #1914 would appear to indicate that appsettings.json should annotate the location of the database, but as far as I can tell it does not do so. Nor can I find any information in Kavita's docs about setting such a configuration variable. Neither the copy from my initial run of Docker nor the repo file contains this setting.
Alternatively, is there any reason Kavita's SQLite DB can't be set to default (delete) mode to be mounted explicitly if one is not using a network (as is the case here)?
Idea Category
Performance Improvement
Duration of Using Kavita
2h
Before submitting
Beta Was this translation helpful? Give feedback.
All reactions