diff options
| author | aethrvmn <me@aethrvmn.gr> | 2025-08-31 14:21:34 +0000 |
|---|---|---|
| committer | aethrvmn <me@aethrvmn.gr> | 2025-08-31 14:21:34 +0000 |
| commit | bfd970a07c231b5781871c16cb4612eb4c6b8fd4 (patch) | |
| tree | 50a4ac5138d1f438e4d5bad3a3dd880a0784cd3e /modules/server/ollama/default.nix | |
| parent | added flake (diff) | |
imported system/home-manager config
Diffstat (limited to 'modules/server/ollama/default.nix')
| -rw-r--r-- | modules/server/ollama/default.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/modules/server/ollama/default.nix b/modules/server/ollama/default.nix new file mode 100644 index 0000000..3b99daf --- /dev/null +++ b/modules/server/ollama/default.nix @@ -0,0 +1,69 @@ +{ config, pkgs, lib, ... }: +{ + services = { + ollama = { + enable = true; + loadModels = [ + "qwen3:14b" + "gemma3:12b" + "gpt-oss:20b" + "deepseek-r1:14b" + "phi4-reasoning:14b" + ]; + + acceleration = "rocm"; + environmentVariables = { + HCC_AMDGPU_TARGET = "gfx1031"; + }; + rocmOverrideGfx = "10.3.0"; + }; + + open-webui = { + enable = true; + port = 3030; + environment = { + ANONYMIZED_TELEMETRY = "False"; + DO_NOT_TRACK = "True"; + SCARF_NO_ANALYTICS = "True"; + WEBUI_AUTH = "False"; + OLLAMA_API_BASE_URL = "http://localhost:11434"; + + #dir stuff + STATIC_DIR = "${config.services.open-webui.stateDir}/static"; + DATA_DIR = "${config.services.open-webui.stateDir}/data"; + HF_HOME = "${config.services.open-webui.stateDir}/hf_home"; + SENTENCE_TRANSFORMERS_HOME = "${config.services.open-webui.stateDir}/transformers_home"; + }; + }; + + xserver.videoDrivers = [ "amdgpu" ]; + + nginx.virtualHosts = { + "chat.internal" = { + locations."/" = { + proxyPass = "http://127.0.0.1:3030"; + proxyWebsockets = true; + }; + }; + + "ollama.internal" = { + locations."/" = { + proxyPass = "http://127.0.0.1:11434"; + proxyWebsockets = true; + }; + }; + }; + }; + + nixpkgs.config = { + allowUnfree = lib.mkForce true; + rocmSupport = lib.mkForce true; + rocmTargets = [ "gfx1031" ]; + }; + + environment.systemPackages = with pkgs; [ + rocmPackages.rocminfo + rocmPackages.rocm-smi + rocmPackages.hipcc + ]; +} |
