ollama container?
This commit is contained in:
@@ -260,13 +260,13 @@
|
|||||||
"blunkall.us".enable = true;
|
"blunkall.us".enable = true;
|
||||||
pihole.enable = false; #broken
|
pihole.enable = false; #broken
|
||||||
nextcloud.enable = true;
|
nextcloud.enable = true;
|
||||||
#gitlab.enable = false; #gitea is better
|
|
||||||
gitea.enable = true;
|
gitea.enable = true;
|
||||||
homeassistant.enable = false;
|
homeassistant.enable = false;
|
||||||
ntfy.enable = false;
|
ntfy.enable = false;
|
||||||
netbird.enable = true;
|
netbird.enable = true;
|
||||||
rustdesk.enable = false; #broken
|
rustdesk.enable = false; #broken
|
||||||
keycloak.enable = true;
|
keycloak.enable = true;
|
||||||
|
ollama.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,5 +13,6 @@
|
|||||||
./rustdesk
|
./rustdesk
|
||||||
./netbird
|
./netbird
|
||||||
./keycloak
|
./keycloak
|
||||||
|
./ollama
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,14 @@
|
|||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
|
||||||
|
|
||||||
services.n8n = {
|
services.n8n = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
openFirewall = true;
|
||||||
|
|
||||||
|
settings = {};
|
||||||
|
|
||||||
|
webhookUrl = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "25.05";
|
system.stateVersion = "25.05";
|
||||||
|
|||||||
88
system-config/services/containers/ollama/default.nix
Normal file
88
system-config/services/containers/ollama/default.nix
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
{ config, lib, inputs, ... }: {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
sysconfig.opts.virtualization.ollama.enable = lib.options.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.sysconfig.opts.virtualization.ollama.enable {
|
||||||
|
|
||||||
|
containers.ollama = {
|
||||||
|
|
||||||
|
autoStart = true;
|
||||||
|
privateNetwork = true;
|
||||||
|
hostAddress = "192.168.100.10";
|
||||||
|
localAddress = "192.168.100.24";
|
||||||
|
|
||||||
|
bindMounts = {
|
||||||
|
"/dev/nvidia0" = {
|
||||||
|
hostPath = "/dev/nvidia0";
|
||||||
|
isReadOnly = false;
|
||||||
|
};
|
||||||
|
"/dev/nvidiactl" = {
|
||||||
|
hostPath = "/dev/nvidiactl";
|
||||||
|
isReadOnly = false;
|
||||||
|
};
|
||||||
|
"/dev/nvidia-uvm" = {
|
||||||
|
hostPath = "/dev/nvidia-uvm";
|
||||||
|
isReadOnly = false;
|
||||||
|
};
|
||||||
|
"/dev/nvidia-modeset" = {
|
||||||
|
hostPath = "/dev/nvidia-modeset";
|
||||||
|
isReadOnly = false;
|
||||||
|
};
|
||||||
|
"/dev/nvidia-uvm-tools" = {
|
||||||
|
hostPath = "/dev/nvidia-uvm-tools";
|
||||||
|
isReadOnly = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
allowedDevices = {
|
||||||
|
nvidia0 = {
|
||||||
|
node = "/dev/nvidia0";
|
||||||
|
modifier = "rw";
|
||||||
|
};
|
||||||
|
nvidiactl = {
|
||||||
|
node = "/dev/nvidiactl";
|
||||||
|
modifier = "rw";
|
||||||
|
};
|
||||||
|
nvidia-uvm = {
|
||||||
|
node = "/dev/nvidia-uvm";
|
||||||
|
modifier = "rw";
|
||||||
|
};
|
||||||
|
nvidia-modeset = {
|
||||||
|
node = "/dev/nvidia-modeset";
|
||||||
|
modifier = "rw";
|
||||||
|
};
|
||||||
|
nvidia-uvm-tools = {
|
||||||
|
node = "/dev/nvidia-uvm-tools";
|
||||||
|
modifier = "rw";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
|
||||||
|
services.ollama = {
|
||||||
|
enable = true;
|
||||||
|
acceleration = "cuda";
|
||||||
|
package = let
|
||||||
|
pkgs-us = import inputs.nixpkgs-us {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in pkgs-us.ollama;
|
||||||
|
|
||||||
|
host = "0.0.0.0";
|
||||||
|
port = 80;
|
||||||
|
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "25.05";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user