diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-06-17 00:00:17 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-06-17 00:00:17 +0530 |
| commit | e8344d9f10cc3313c69dc9717d02602645048c1a (patch) | |
| tree | 7d9d7f1c6eeba36864d6a64956423dae8e124972 /modules/storage | |
| parent | 926f411a4c703cab001d64b7f8b9701b79a7dc5c (diff) | |
| download | homeserver-nixos-config-e8344d9f10cc3313c69dc9717d02602645048c1a.tar.gz homeserver-nixos-config-e8344d9f10cc3313c69dc9717d02602645048c1a.zip | |
Add immich
Diffstat (limited to 'modules/storage')
| -rw-r--r-- | modules/storage/default.nix | 3 | ||||
| -rw-r--r-- | modules/storage/immich.nix | 47 |
2 files changed, 49 insertions, 1 deletions
diff --git a/modules/storage/default.nix b/modules/storage/default.nix index bbb9267..d4e8da9 100644 --- a/modules/storage/default.nix +++ b/modules/storage/default.nix @@ -1,8 +1,9 @@ { ... }: { imports = [ - ./syncthing.nix ./git.nix + ./immich.nix ./send.nix + ./syncthing.nix ]; } 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 + ]; +} |
