49 lines
1.0 KiB
Nix
49 lines
1.0 KiB
Nix
|
{ config, pkgs, lib, ... }:
|
||
|
let
|
||
|
cfg = config.services.open-webui;
|
||
|
domain = "gpt.pvv.ntnu.no";
|
||
|
address = "127.0.1.11";
|
||
|
port = 11111;
|
||
|
|
||
|
in
|
||
|
{
|
||
|
|
||
|
services.open-webui = {
|
||
|
enable = true;
|
||
|
|
||
|
package = pkgs.unstable.open-webui;
|
||
|
port = port;
|
||
|
host = "${address}";
|
||
|
openFirewall = true;
|
||
|
|
||
|
environment = {
|
||
|
ANONYMIZED_TELEMETRY = "False";
|
||
|
DO_NOT_TRACK = "True";
|
||
|
SCARF_NO_ANALYTICS = "True";
|
||
|
OLLAMA_API_BASE_URL = "http://127.0.0.1:11434";
|
||
|
ENABLE_SIGNUP = "False";
|
||
|
ENABLE_OAUTH_SIGNUP = "True";
|
||
|
#ENABLE_LOGIN_FORM = "False"; #for forcing oauth only - less confusion but needed for local admin account i think
|
||
|
DEFAULT_USER_ROLE = "user";
|
||
|
ENABLE_ADMIN_EXPORT = "False";
|
||
|
ENABLE_ADMIN_CHAT_ACCESS = "False";
|
||
|
ENABLE_COMMUNITY_SHARING = "False";
|
||
|
WEBUI_URL = "${domain}";
|
||
|
};
|
||
|
|
||
|
};
|
||
|
|
||
|
services.nginx.virtualHosts."${domain}" = {
|
||
|
forceSSL = true;
|
||
|
enableACME = true;
|
||
|
kTLS = true;
|
||
|
|
||
|
locations."/" = {
|
||
|
proxyPass = "http://${address}:${toString port}";
|
||
|
proxyWebsockets = true;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
}
|