diff options
author | sinanmohd <sinan@sinanmohd.com> | 2025-02-28 22:11:22 +0530 |
---|---|---|
committer | sinanmohd <sinan@sinanmohd.com> | 2025-02-28 22:11:22 +0530 |
commit | d72a55ac3369912643c38878e9df36968b024327 (patch) | |
tree | 89f10098e9d8add089c014de801244d66b0246de | |
parent | 4870446fdc08f066c124ffc148d274942f37b631 (diff) |
kay/immich: init
-rw-r--r-- | os/kay/configuration.nix | 1 | ||||
-rw-r--r-- | os/kay/modules/dns/sinanmohd.com.zone | 5 | ||||
-rw-r--r-- | os/kay/modules/immich.nix | 23 | ||||
-rw-r--r-- | os/kay/modules/www.nix | 13 |
4 files changed, 40 insertions, 2 deletions
diff --git a/os/kay/configuration.nix b/os/kay/configuration.nix index 904e2a1..5331d36 100644 --- a/os/kay/configuration.nix +++ b/os/kay/configuration.nix @@ -17,6 +17,7 @@ ./modules/postgresql.nix ./modules/github-runner.nix ./modules/nix-cache.nix + ./modules/immich.nix ]; boot = { diff --git a/os/kay/modules/dns/sinanmohd.com.zone b/os/kay/modules/dns/sinanmohd.com.zone index 31627fc..e0fba5b 100644 --- a/os/kay/modules/dns/sinanmohd.com.zone +++ b/os/kay/modules/dns/sinanmohd.com.zone @@ -2,7 +2,7 @@ $ORIGIN sinanmohd.com. $TTL 2d @ IN SOA ns1 hostmaster ( - 2025021808 ; serial + 2025022804 ; serial 2h ; refresh 5m ; retry 1d ; expire @@ -14,7 +14,7 @@ $TTL 2d IN NS ns4.he.net. IN NS ns5.he.net. - 30 IN A 127.0.0.1 + IN A 137.59.84.126 30 IN AAAA ::1 IN MX 10 mail @@ -42,6 +42,7 @@ bin IN CNAME @ static IN CNAME @ home IN CNAME @ nixbin IN CNAME @ +immich IN CNAME @ lia IN A 65.0.3.127 diff --git a/os/kay/modules/immich.nix b/os/kay/modules/immich.nix new file mode 100644 index 0000000..5e5eaf4 --- /dev/null +++ b/os/kay/modules/immich.nix @@ -0,0 +1,23 @@ +{ config, ... }: +let + domain = config.global.userdata.domain; + mediaLocation = "/hdd/immich"; +in +{ + services.immich = { + enable = true; + inherit mediaLocation; + settings.server.externalDomain = "https://immich.${domain}"; + }; + + systemd.tmpfiles.settings.immich.${mediaLocation}.d = { + group = config.services.immich.group; + user = config.services.immich.user; + mode = "0755"; + }; + + users.users.immich.extraGroups = [ + "video" + "render" + ]; +} diff --git a/os/kay/modules/www.nix b/os/kay/modules/www.nix index 2500222..98116e3 100644 --- a/os/kay/modules/www.nix +++ b/os/kay/modules/www.nix @@ -115,6 +115,19 @@ in }"''; }; + "immich.${domain}" = defaultOpts // { + locations."/" = { + proxyWebsockets = true; + proxyPass = "http://${config.services.immich.host}:${builtins.toString config.services.immich.port}"; + }; + + extraConfig = '' + proxy_buffering off; + proxy_request_buffering off; + client_max_body_size 0; + ''; + }; + "nixbin.${domain}" = defaultOpts // { extraConfig = "proxy_buffering off;"; locations = { |