summaryrefslogtreecommitdiffstats
path: root/nixos
diff options
context:
space:
mode:
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/misc/paperless.nix21
1 files changed, 19 insertions, 2 deletions
diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix
index 1dddd147ac09..667f16d98f82 100644
--- a/nixos/modules/services/misc/paperless.nix
+++ b/nixos/modules/services/misc/paperless.nix
@@ -226,9 +226,26 @@ in
# Auto-migrate on first run or if the package has changed
versionFile="${cfg.dataDir}/src-version"
- if [[ $(cat "$versionFile" 2>/dev/null) != ${pkg} ]]; then
+ version=$(cat "$versionFile" 2>/dev/null || echo 0)
+
+ if [[ $version != ${pkg.version} ]]; then
${pkg}/bin/paperless-ngx migrate
- echo ${pkg} > "$versionFile"
+
+ # Parse old version string format for backwards compatibility
+ version=$(echo "$version" | grep -ohP '[^-]+$')
+
+ versionLessThan() {
+ target=$1
+ [[ $({ echo "$version"; echo "$target"; } | sort -V | head -1) != "$target" ]]
+ }
+
+ if versionLessThan 1.12.0; then
+ # Reindex documents as mentioned in https://github.com/paperless-ngx/paperless-ngx/releases/tag/v1.12.1
+ echo "Reindexing documents, to allow searching old comments. Required after the 1.12.x upgrade."
+ ${pkg}/bin/paperless-ngx document_index reindex
+ fi
+
+ echo ${pkg.version} > "$versionFile"
fi
''
+ optionalString (cfg.passwordFile != null) ''