This commit is contained in:
mjallen18
2024-05-31 10:55:22 -05:00
parent 184341c9c1
commit 6d1c6cfc4b
8 changed files with 247 additions and 75 deletions

View File

@@ -0,0 +1,33 @@
{ lib, pkgs, config, ... }:
with lib;
let cfg = config.nas-apps.open-webui;
in {
imports = [ ./options.nix ];
config = mkIf cfg.enable {
systemd.services.open-webui-docker = {
path = [ pkgs.bash pkgs.docker ];
script = ''
set -e
exec docker run \
--rm \
--gpus all \
--runtime=nvidia \
--name=${cfg.name} \
-e PUID=${cfg.puid} \
-e PGID=${cfg.pgid} \
-e TZ=${cfg.timeZone} \
-e 'NVIDIA_DRIVER_CAPABILITIES'='all' \
-e 'NVIDIA_VISIBLE_DEVICES'='all' \
-p ${cfg.port}:8080 \
-v '${cfg.configPath}:/app/backend/data' \
-v '/mnt/ssd/nix-app-data/ollama:/root/.ollama' \
${cfg.image}
'';
wantedBy = [ "multi-user.target" ];
};
};
}
# --add-host=host.docker.internal:host-gateway \
# -e 'OLLAMA_BASE_URL'='http://10.0.1.18:11434' \

View File

@@ -0,0 +1,47 @@
{ lib, ... }:
with lib; {
options.nas-apps.open-webui = {
enable = mkEnableOption "open-webui docker service";
autoStart = mkOption {
type = types.bool;
default = true;
};
port = mkOption {
type = types.str;
default = "8888";
};
name = mkOption {
type = types.str;
default = "open-webui";
};
image = mkOption {
type = types.str;
default = "ghcr.io/open-webui/open-webui:ollama";
};
configPath = mkOption {
type = types.str;
default = "/mnt/ssd/nix-app-data/open-webui";
};
puid = mkOption {
type = types.str;
default = "911";
};
pgid = mkOption {
type = types.str;
default = "1000";
};
timeZone = mkOption {
type = types.str;
default = "America/Chicago";
};
};
}