From 7a7350ac42f59d4768099d181a06b442b887a0c3 Mon Sep 17 00:00:00 2001 From: Yan Lin Date: Mon, 19 Jan 2026 22:17:41 +0100 Subject: [PATCH] serve immich external lib as webdav --- hosts/nixos/thinkpad/system.nix | 7 +++++++ hosts/nixos/vps/proxy.nix | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/hosts/nixos/thinkpad/system.nix b/hosts/nixos/thinkpad/system.nix index 0479044..0dc29c2 100644 --- a/hosts/nixos/thinkpad/system.nix +++ b/hosts/nixos/thinkpad/system.nix @@ -8,6 +8,7 @@ ../../../modules/podman.nix ../../../modules/tailscale.nix ../../../modules/login-display.nix + ../../../modules/dufs.nix ../../../modules/borg/client.nix ]; @@ -211,4 +212,10 @@ }; }; + services.dufs = { + sharedPath = "/home/yanlin/immich/ext-library"; + user = "yanlin"; + group = "users"; + }; + } diff --git a/hosts/nixos/vps/proxy.nix b/hosts/nixos/vps/proxy.nix index fe09aa0..5308ef4 100644 --- a/hosts/nixos/vps/proxy.nix +++ b/hosts/nixos/vps/proxy.nix @@ -17,6 +17,17 @@ }; }; + immich-lib = { + rule = "Host(`immich-lib.yanlincs.com`)"; + service = "immich-lib"; + tls = { + certResolver = "cloudflare"; + domains = [{ + main = "*.yanlincs.com"; + }]; + }; + }; + audio = { rule = "Host(`audio.yanlincs.com`)"; service = "audio"; @@ -62,6 +73,14 @@ }; }; + immich-lib = { + loadBalancer = { + servers = [{ + url = "http://thinkpad.yanlincs.com:5099"; + }]; + }; + }; + audio = { loadBalancer = { servers = [{