chore: snipe-it fix postInstall script
This commit is contained in:
@@ -1,12 +1,24 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
serviceName = "snipe-it";
|
||||
servicePort = config.m3ta.ports.get serviceName;
|
||||
mysqlPort = config.m3ta.ports.get "mysql";
|
||||
hostName = "am.az-gruppe.com";
|
||||
|
||||
restoreDefaults = pkgs.writeShellScript "snipe-it-restore-defaults" ''
|
||||
set -euo pipefail
|
||||
src="${pkgs.snipe-it}/share/snipe-it/uploads"
|
||||
dst="/var/lib/snipe-it/public/uploads"
|
||||
|
||||
if [ -d "$src" ] && [ -d "$dst" ]; then
|
||||
# -n = kein Überschreiben existierender Dateien (User-Uploads bleiben erhalten)
|
||||
cp -rn "$src/." "$dst/"
|
||||
fi
|
||||
'';
|
||||
in {
|
||||
services.${serviceName} = {
|
||||
enable = true;
|
||||
@@ -52,6 +64,9 @@ in {
|
||||
after = ["mysql.service"];
|
||||
requires = ["mysql.service"];
|
||||
unitConfig.ConditionPathExists = "${config.services.mysql.dataDir}/snipeit";
|
||||
serviceConfig = {
|
||||
ExecStartPre = ["+${restoreDefaults}"];
|
||||
};
|
||||
};
|
||||
|
||||
# Traefik configuration
|
||||
|
||||
Reference in New Issue
Block a user