feat(nixos): enable immich ml; bind localhost; add ollama env
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{device, ...}: {
|
||||
imports = [
|
||||
# ./immich-machine-learning.nix
|
||||
./immich-machine-learning.nix
|
||||
];
|
||||
virtualisation = {
|
||||
docker.enable = true;
|
||||
|
||||
@@ -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}
|
||||
# '';
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user