diff --git a/aspects/hosts/_alexandria/open-webui.nix b/aspects/hosts/_alexandria/open-webui.nix new file mode 100644 index 0000000..fecab49 --- /dev/null +++ b/aspects/hosts/_alexandria/open-webui.nix @@ -0,0 +1,27 @@ +{ lib, config, inputs, ... }: +let + mkNginxVHosts = inputs.self.lib.mkNginxVHosts; +in +{ + nixpkgs.overlays = [ + (final: prev: { + open-webui = (import inputs.nixpkgs { + inherit (prev) system; + config.allowUnfree = true; + }).open-webui; + }) + ]; + + services.open-webui = { + enable = true; + environment = { + SCARF_NO_ANALYTICS = "True"; + DO_NOT_TRACK = "True"; + ANONYMIZED_TELEMETRY = "False"; + }; + }; + + services.nginx.virtualHosts = mkNginxVHosts { + domains."ai.baduhai.dev".locations."/".proxyPass = "http://127.0.0.1:8080/"; + }; +} diff --git a/aspects/hosts/_alexandria/silverbullet.nix b/aspects/hosts/_alexandria/silverbullet.nix new file mode 100644 index 0000000..2b07960 --- /dev/null +++ b/aspects/hosts/_alexandria/silverbullet.nix @@ -0,0 +1,20 @@ +{ config, inputs, ... }: + +let + mkNginxVHosts = inputs.self.lib.mkNginxVHosts; +in + +{ + services = { + silverbullet = { + enable = true; + listenAddress = "127.0.0.1"; + listenPort = 58002; + }; + + nginx.virtualHosts = mkNginxVHosts { + domains."notes.baduhai.dev".locations."/".proxyPass = + "http://${config.services.silverbullet.listenAddress}:${toString config.services.silverbullet.listenPort}/"; + }; + }; +} diff --git a/data/services.nix b/data/services.nix index fe935ee..35cfeca 100644 --- a/data/services.nix +++ b/data/services.nix @@ -49,5 +49,15 @@ host = "trantor"; public = true; } + { + name = "silverbullet"; + domain = "notes.baduhai.dev"; + host = "alexandria"; + } + { + name = "open-webui"; + domain = "ai.baduhai.dev"; + host = "alexandria"; + } ]; }