27 lines
882 B
Nix
27 lines
882 B
Nix
|
{ config, pkgs, lib, ... }:
|
||
|
let
|
||
|
openWebuiImage = "ghcr.io/open-webui/open-webui:main";
|
||
|
in
|
||
|
{
|
||
|
virtualisation.oci-containers = {
|
||
|
backend = {
|
||
|
image = openWebuiImage;
|
||
|
cmd = [ "-d" "--network=host" "-v" "open-webui:/app/backend/data" "--name" "open-webui" "--restart" "always" ];
|
||
|
volumes = [ "open-webui:/app/backend/data" ];
|
||
|
environment = {
|
||
|
OLLAMA_BASE_URL = "http://127.0.0.1:11434";
|
||
|
};
|
||
|
restart = "always";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
services.nginx.virtualHosts."chat.${config.networking.hostName}.${config.networking.domain}" = {
|
||
|
forceSSL = true;
|
||
|
#useACMEHost = config.networking.domain; #not sure if this will work, unless
|
||
|
locations."/" = {
|
||
|
proxyWebsockets = true;
|
||
|
proxyPass = "http://${config.services.ollama.listenAddress}";
|
||
|
};
|
||
|
basicAuthFile = config.sops.secrets."nginx/defaultpass".path;
|
||
|
};
|
||
|
}
|