feat(nixos): enable immich ml; bind localhost; add ollama env

This commit is contained in:
2026-01-18 21:35:15 +05:30
parent a97ff2c46d
commit 509a9b49ed
5 changed files with 24 additions and 10 deletions

View File

@@ -1,6 +1,6 @@
{device, ...}: {
imports = [
# ./immich-machine-learning.nix
./immich-machine-learning.nix
];
virtualisation = {
docker.enable = true;

View File

@@ -2,12 +2,11 @@
port = 3003;
in {
virtualisation.oci-containers = {
backend = "docker";
containers = {
immich-machine-learning = {
image = "ghcr.io/immich-app/immich-machine-learning:v${pkgs.immich.version}-cuda";
ports = [
"0.0.0.0:${toString port}:3003"
"127.0.0.1:${toString port}:3003"
];
volumes = [
"model-cache:/cache"
@@ -20,7 +19,4 @@ in {
nvidia-docker
nvidia-container-toolkit
];
# services.caddy.virtualHosts."ml.ryu.darksailor.dev".extraConfig = ''
# reverse_proxy localhost:${toString port}
# '';
}

View File

@@ -25,6 +25,8 @@
OLLAMA_LLM_LIBRARY = "cuda";
LD_LIBRARY_PATH = "run/opengl-driver/lib";
HTTP_PROXY = "https://ollama.darksailor.dev";
OLLAMA_CONTEXT_LENGTH = "32000";
OLLAMA_KEEP_ALIVE = "30m";
};
package = pkgs.ollama-cuda;
};

View File

@@ -3,8 +3,9 @@
secrets."llama/api_key".owner = config.services.caddy.user;
secrets."openai/api_key" = {};
templates = {
"LLAMA_API_KEY.env".content = ''
"ollama.env".content = ''
LLAMA_API_KEY=${config.sops.placeholder."llama/api_key"}
OPENAI_API_KEYS=${config.sops.placeholder."openai/api_key"}
'';
};
};
@@ -21,7 +22,7 @@
WEBUI_URL = "https://chat.darksailor.dev";
OLLAMA_BASE_URL = "https://ollama.darksailor.dev";
};
environmentFile = "${config.sops.templates."LLAMA_API_KEY.env".path}";
environmentFile = "${config.sops.templates."ollama.env".path}";
};
caddy = {
@@ -47,7 +48,7 @@
};
systemd.services.caddy = {
serviceConfig = {
EnvironmentFile = config.sops.templates."LLAMA_API_KEY.env".path;
EnvironmentFile = config.sops.templates."ollama.env".path;
};
};
}