From 1a244577826a5bb1aedcf2eb3350095320ccfb1a Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Sat, 26 Jul 2025 12:44:06 +0200 Subject: [PATCH] nixos/immich: only start after reaching postgres.target Without this dependency, we may run into a race condition, especially in our tests. Signed-off-by: Sefa Eyeoglu --- nixos/modules/services/web-apps/immich.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/web-apps/immich.nix b/nixos/modules/services/web-apps/immich.nix index a31a2eeef048..70049fbf50ae 100644 --- a/nixos/modules/services/web-apps/immich.nix +++ b/nixos/modules/services/web-apps/immich.nix @@ -335,7 +335,8 @@ in systemd.services.immich-server = { description = "Immich backend server (Self-hosted photo and video backup solution)"; - after = [ "network.target" ]; + requires = lib.mkIf cfg.database.enable [ "postgresql.target" ]; + after = [ "network.target" ] ++ lib.optionals cfg.database.enable [ "postgresql.target" ]; wantedBy = [ "multi-user.target" ]; inherit (cfg) environment; path = [ @@ -362,7 +363,8 @@ in systemd.services.immich-machine-learning = mkIf cfg.machine-learning.enable { description = "immich machine learning"; - after = [ "network.target" ]; + requires = lib.mkIf cfg.database.enable [ "postgresql.target" ]; + after = [ "network.target" ] ++ lib.optionals cfg.database.enable [ "postgresql.target" ]; wantedBy = [ "multi-user.target" ]; inherit (cfg.machine-learning) environment; serviceConfig = commonServiceConfig // {