diff options
Diffstat (limited to 'modules/storage/immich.nix')
| -rw-r--r-- | modules/storage/immich.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/modules/storage/immich.nix b/modules/storage/immich.nix new file mode 100644 index 0000000..2f3e4f1 --- /dev/null +++ b/modules/storage/immich.nix @@ -0,0 +1,47 @@ +{ settings, ... }: +let + ports = settings.network.ports; +in +{ + systemd.tmpfiles.rules = [ + "d ${settings.immich.baseDir} 0770 ${settings.immich.user} ${settings.immich.group} - -" + ]; + + services.immich = { + enable = true; + host = "0.0.0.0"; + port = ports.immich; + group = settings.immich.group; + user = settings.immich.user; + openFirewall = true; + mediaLocation = settings.immich.baseDir; + machine-learning.enable = false; + settings = { + library.watch.enabled = true; + library.scan = { + enabled = true; + cron = "0 */5 * * *"; + }; + trash = { + enabled = true; + days = 15; + }; + backup.database = { + enabled = false; + cronExpression = "0 02 * * *"; + }; + server.externalDomain = "http://photos.local"; + passwordLogin.enabled = true; + newVersionCheck.enabled = false; + map.enabled = false; + machineLearning.enabled = false; + }; + }; + + users.users.bacchus.extraGroups = [ settings.immich.group ]; + users.users.${settings.immich.user}.extraGroups = [ + settings.immich.group + settings.syncthing.group + settings.media.group + ]; +} |
