From 4cf52fc3bf20b906c448b90f00fb56aa7d4b01cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 17 Oct 2025 00:53:57 +0200 Subject: [PATCH] zammad: fix using filesystem as attachment storage --- nixos/modules/services/development/zammad.nix | 5 +++-- pkgs/by-name/za/zammad/package.nix | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 89875f07abca..6b91626c07da 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -368,7 +368,7 @@ in # cleanup state directory from module before refactoring in # https://github.com/NixOS/nixpkgs/pull/277456 if [[ -e ${cfg.dataDir}/node_modules ]]; then - rm -rf ${cfg.dataDir}/!("tmp"|"config"|"log"|"state_dir_migrated"|"db_seeded") + rm -rf ${cfg.dataDir}/!("tmp"|"config"|"log"|"state_dir_migrated"|"db_seeded"|"storage") rm -rf ${cfg.dataDir}/config/!("database.yml"|"secrets.yml") # state directory cleanup required --> zammad was already installed --> do not seed db echo true > ${cfg.dataDir}/db_seeded @@ -392,8 +392,9 @@ in systemd.tmpfiles.rules = [ "d ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -" "d ${cfg.dataDir}/config 0750 ${cfg.user} ${cfg.group} - -" - "d ${cfg.dataDir}/tmp 0750 ${cfg.user} ${cfg.group} - -" "d ${cfg.dataDir}/log 0750 ${cfg.user} ${cfg.group} - -" + "d ${cfg.dataDir}/storage 0750 ${cfg.user} ${cfg.group} - -" + "d ${cfg.dataDir}/tmp 0750 ${cfg.user} ${cfg.group} - -" "f ${cfg.dataDir}/config/secrets.yml 0640 ${cfg.user} ${cfg.group} - -" "f ${cfg.dataDir}/config/database.yml 0640 ${cfg.user} ${cfg.group} - -" "f ${cfg.dataDir}/db_seeded 0640 ${cfg.user} ${cfg.group} - -" diff --git a/pkgs/by-name/za/zammad/package.nix b/pkgs/by-name/za/zammad/package.nix index 5ccf3bff026d..c38c37a4f85b 100644 --- a/pkgs/by-name/za/zammad/package.nix +++ b/pkgs/by-name/za/zammad/package.nix @@ -108,11 +108,12 @@ stdenvNoCC.mkDerivation { installPhase = '' cp -R . $out rm -rf $out/config/database.yml $out/config/secrets.yml $out/tmp $out/log - # dataDir will be set in the module, and the package gets overriden there + # dataDir will be set in the module, and the package gets overridden there ln -s ${dataDir}/config/database.yml $out/config/database.yml ln -s ${dataDir}/config/secrets.yml $out/config/secrets.yml - ln -s ${dataDir}/tmp $out/tmp ln -s ${dataDir}/log $out/log + ln -s ${dataDir}/storage $out/storage + ln -s ${dataDir}/tmp $out/tmp ''; passthru = {