diff --git a/nixos/configurations/Tytonidae/default.nix b/nixos/configurations/Tytonidae/default.nix index ca662cf..3ea087f 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -35,6 +35,7 @@ enable = true; unixName = "david"; }; + open-webui.enable = true; }; gui.enabled = "cosmic"; }; diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index 32250aa..7adf5f2 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -27,6 +27,7 @@ ./tailscale.nix ./kanata.nix ./kvm.nix + ./open-webui.nix ]; config = { diff --git a/nixos/modules/open-webui.nix b/nixos/modules/open-webui.nix new file mode 100644 index 0000000..0b06b9e --- /dev/null +++ b/nixos/modules/open-webui.nix @@ -0,0 +1,21 @@ +{ config, lib, ... }: +let + cfg = config.youthlic.programs.open-webui; +in +{ + options = { + youthlic.programs.open-webui = { + enable = lib.mkEnableOption "open-webui"; + }; + }; + config = lib.mkIf cfg.enable { + services.open-webui = { + enable = true; + port = 8083; + environmentFile = "${config.sops.secrets."open-webui_env".path}"; + }; + sops.secrets."open-webui_env" = { + format = "yaml"; + }; + }; +} diff --git a/secrets/general.yaml b/secrets/general.yaml index c1801df..d553f1c 100644 --- a/secrets/general.yaml +++ b/secrets/general.yaml @@ -3,6 +3,7 @@ ssh-private-key: akun: ENC[AES256_GCM,data:d04sdY1cvJuOPSq9H2lT26jrUFSA1sHz1i9jj+XtXGeagQyc4XaknTmfC3EDfvNghoizZWZ/Ma+BfIvnlWDBFqhkGhdhB7X8PnI9rySOfkMmOk2HXHtvP4GfSy2oQ4BMRfYX2N9TcViascnXA9MRsetDjD3fhiCKkZ+2H/sthxw38JgK95O74lFCze7sc4ZzK/RhXaBkLFrQpMdqnGBYpH9wuHiQSlFxBQ0jHJDUeOSxOdCanw2xfdkJnNe5dKRweoYp4Mtit2C3DRdaT3lMQ/SQjfEhUs/0TIXyunoWE7nX5tUN2F2s/FtkPMU5lpiW1x+kntMBBfY9TA+r4CyH4lkhFit+DsIkPfdUZGzSquQAHHWzDzS5vXnKTf8NFCzHIeoQzegkf4JS+CWf51Iy15FfWy+Pd6CmxLikAQnGTixGDa7LMqOV48BhZ5it/hJmrzg0FMkNFeeJW/s9YvCNMae8lMt/0K+N+pUD/Ud8VJnIxP4MmWGKRwNNFHivGuZjtKCJR9agf1N7NPBDDqV7HRDYAfxa2sPozWZ5ZGGGlsmINeymNk10aY4ovRs/6CcRWw2gPspNuxvqb9HQ7r/cQFmGhLYpkliRLpFM/skLCHA=,iv:YVPvHL4nxqJMR8PE+hraS0piboGYXqyljgGcBHqG38g=,tag:HSab+C3Xd5wMzyomF9dGMA==,type:str] git-credential: ENC[AES256_GCM,data:Rt6ccMJ+D/Jv1U7Ex51j4zIKp5KIyPFJdWZwJyW6liU5CHxBfrFWeNOJobhT5tFPrhzHRUI=,iv:f2SYFKpAcHoKG3dMsniKRi02EFDzwgzzli5Qzw8CWqo=,tag:hUi0FAZ7+2+mcqUsz5HtbQ==,type:str] url: ENC[AES256_GCM,data:ouWl1losoEBxgUYkZLGhcA7bmqJG0ivx8wNoYx64+lvOVNzg0Q0wp8GFK1ikRQAq2gljiYoLlbGAehePpadAIgePQKP03LC65EzME/gynjZpq2FC9shm75SnymH7imhYcvEVidpoDR/FDBmsTLqAvbV2nmF+,iv:KKr2S1faSHAuiLvGiKdgiJXXrBoXY7qDGfvPuHEi1C8=,tag:srSWuFwGVkLE2GB9yhzTXw==,type:str] +open-webui_env: ENC[AES256_GCM,data:HUoNzOqVuu9MtW4VZJfrh4DbzQCtVYa+FzhDs21FpvImuVz9cue0X8s2MXKqYH0LD1US/DJKL4QLLeNTKVMGxmBOCGxSIgeFejnqK5k/r0GF54SBOURWZn/TyzqxZKAym01DUvfNIe68LhvW1LOHaCDK4zsI9BnhkBVjV8/Vmsc=,iv:4aUgQ6HoLqeuUp01fg+yXQRbH6mS/dakZ1ZUdCZzvAM=,tag:GlFnN5bqIcIZadXmFBkSXA==,type:str] sops: kms: [] gcp_kms: [] @@ -27,8 +28,8 @@ sops: RjdOK1RiRHRzTGd1dDlUTEVRVzBtQk0K5vtopA4dhLODrVlUnegm9f5DwSvOKuIS bIPHM5FarLGRXTXs09vKW5LFKo3BOm9N4Zc6q4cV7Pdp5+AZEEp/0Q== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-18T13:11:25Z" - mac: ENC[AES256_GCM,data:VYuAAQDfw80tBNQwA+RI9KiWQ75wPd5OdZplEsPjxW4aIlDFPooRU+tYkkQtCFhmqpSNWuM3quaLpwVKg6FCNSpLV+dleHbcR8FaxXK6TN39bH2M9WjeMnSAjbqL4EpwWhwI3mZGxF9oBrpJOwLDXdQ6s7ZceyfCSLd0DOZHmHQ=,iv:olAhT6J5BEHpWVxZl+jrlWJ/Ati4Uarvy7yGnpsoZNQ=,tag:LsA9C6W2QBQbE9nqeYgryw==,type:str] + lastmodified: "2025-01-20T13:06:33Z" + mac: ENC[AES256_GCM,data:Kd7LILwSV6YsR5NKOLjIwpfizuENVuKy8FKTf5UwTH6U9rXHIekrDIg8vdfSyA0apllFFFEBsNtTwr6hDLow96NvZBG29JXVDkCP669Vl14hCOr8pr8phyfyYDjSGdQUpGWyF/6TiiO+Tg+qq/rZ3kFLNLmqDIc3QjcgMb4Tw/w=,iv:wrT129C1SQhoTdJ0PwE/w6xrKyAP2UUf7VHFCs9nmVQ=,tag:sCIq0oX0M2LGlu4uvnpoEQ==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.9.2 + version: 3.9.3