{ inputs, constants, config, lib, pkgs, ... }: let inherit (lib) getExe; in { imports = [ inputs.synix.nixosModules.open-webui-oci inputs.synix.nixosModules.mcpo ]; services.open-webui-oci = { enable = true; externalUrl = "https://" + constants.services.open-webui-oci.fqdn; port = 8083; # environmentFile = config.sops.templates."open-webui-oci/environment".path; environment = { # AUDIO_STT_ENGINE = "openai"; # AUDIO_TTS_ENGINE = "openai"; ENABLE_OLLAMA_API = "False"; }; }; services.mcpo = { enable = true; package = pkgs.synix.mcpo; port = 8765; settings = { mcpServers = { fetcher-mcp = { command = getExe pkgs.synix.fetcher-mcp; }; nixos = { command = getExe pkgs.nix; args = [ "run" "github:utensils/mcp-nixos" "--" ]; }; }; }; }; # sops = { # secrets."open-webui-oci/stt-api-key" = { }; # secrets."open-webui-oci/tts-api-key" = { }; # templates."open-webui-oci/environment".content = '' # AUDIO_STT_OPENAI_API_KEY=${config.sops.placeholder."open-webui-oci/stt-api-key"} # AUDIO_TTS_OPENAI_API_KEY=${config.sops.placeholder."open-webui-oci/tts-api-key"} # ''; # }; # HOTFIX virtualisation.oci-containers.containers.open-webui.extraOptions = [ "--health-cmd=none" ]; }