From 139a4b4089f9827262041faf00f7c9ecee2149cb Mon Sep 17 00:00:00 2001 From: Jonatan Date: Sat, 31 Oct 2026 10:01:23 +0100 Subject: [PATCH 1/2] fix(oci): label Ollama API endpoint accurately --- oci/catalog/overlays/ollama.json | 19 +++++++++++++++++++ oci/tests/test_catalog_web_links.py | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/oci/catalog/overlays/ollama.json b/oci/catalog/overlays/ollama.json index a8869d25..5356b4c6 100644 --- a/oci/catalog/overlays/ollama.json +++ b/oci/catalog/overlays/ollama.json @@ -1,4 +1,23 @@ { + "catalog_ui": { + "description": { + "en_US": "Ollama runs large language models locally through a command-line interface and an HTTP API. The Ollama server does not include an interactive Web UI; pair it with a frontend such as Open WebUI if you want browser-based chat.\n\nIt supports many models, including Llama, Mistral, Gemma, and Qwen, and provides an API for applications and integrations. Local models run on your own hardware; cloud models require an internet connection.\n\n**Key Features:**\n- **Local model execution**: Run supported models on your own hardware\n- **Model management**: Pull, run, and manage models with the CLI or API\n- **API integration**: Connect other applications to the Ollama server\n- **Privacy options**: Keep inference local when using local models\n\n**Learn More:**\n- [Ollama Official Website](https://ollama.com/)\n- [Ollama GitHub Repository](https://github.com/ollama/ollama)\n- [Model Library](https://ollama.com/library)\n" + }, + "launch": { + "path": "/api/version" + } + }, + "first_run": { + "endpoints": [ + { + "label": "Ollama API (no Web UI)", + "scheme": "http", + "port": 11434, + "path": "/api/version", + "source": "ollama-http-api" + } + ] + }, "proxmox": { "deployment_profile": { "variant": "hardware-selectable", diff --git a/oci/tests/test_catalog_web_links.py b/oci/tests/test_catalog_web_links.py index 324d7a05..e05b2e9b 100644 --- a/oci/tests/test_catalog_web_links.py +++ b/oci/tests/test_catalog_web_links.py @@ -56,6 +56,24 @@ class CatalogWebLinks(unittest.TestCase): self.assertEqual((check["scheme"], check["port"]), ("http", 9696)) self.assertNotIn("accept_non_http", check) + def test_ollama_links_to_its_api_instead_of_claiming_a_web_ui(self): + template = self.catalog.compose("ollama") + launch = template["catalog_ui"]["launch"] + self.assertEqual(launch, {"scheme": "http", "port": 11434, "path": "/api/version"}) + endpoint = template["first_run"]["endpoints"][0] + self.assertEqual(endpoint["label"], "Ollama API (no Web UI)") + self.assertEqual({key: endpoint[key] for key in launch}, launch) + self.assertEqual(endpoint["source"], "ollama-http-api") + self.assertNotIn("Web interface", template["catalog_ui"]["description"]["en_US"]) + self.assertIn("does not include an interactive Web UI", + template["catalog_ui"]["description"]["en_US"]) + check = transaction.effective_healthcheck(template) + self.assertEqual((check["scheme"], check["port"], check["path"]), + ("http", 11434, "/api/version")) + notes = oci_description.render(template, "", "ollama", "192.0.2.10") + self.assertIn('href="http://192.0.2.10:11434/api/version"', notes) + self.assertIn("Ollama API (no Web UI)", notes) + @patch("proxmenux_oci.installer.host.gpus", return_value={"intel": [], "amd": [], "nvidia": False}) @patch("proxmenux_oci.i18n.language", return_value="en") @patch("proxmenux_oci.installer.host.storages", side_effect=storages) From bfdcd4a42c31dc9119b9a96b7b04e78e4cdca8dc Mon Sep 17 00:00:00 2001 From: Jonatan Date: Sat, 31 Oct 2026 10:07:49 +0100 Subject: [PATCH 2/2] i18n: translate Ollama catalog metadata --- lang/de.json | 4 +++- lang/es.json | 4 +++- lang/fr.json | 4 +++- lang/it.json | 4 +++- lang/pt.json | 4 +++- lang/sk.json | 4 +++- lang/sv.json | 4 +++- 7 files changed, 21 insertions(+), 7 deletions(-) diff --git a/lang/de.json b/lang/de.json index df36576c..8cb6c0da 100644 --- a/lang/de.json +++ b/lang/de.json @@ -8945,5 +8945,7 @@ "⚠ Disk data will NOT be erased.": "⚠ Festplattendaten werden NICHT gelöscht.", "⚠ Disk will be unmounted and removed from /etc/fstab.": "⚠ Die Festplatte wird ausgehängt und aus /etc/fstab entfernt.", "⚠ The /etc/fstab entry will be removed.": "⚠ Der /etc/fstab-Eintrag wird entfernt.", - "⚠ The disk will be unmounted.": "⚠ Die Festplatte wird ausgehängt." + "⚠ The disk will be unmounted.": "⚠ Die Festplatte wird ausgehängt.", + "Ollama API (no Web UI)": "Ollama-API (keine Weboberfläche)", + "Ollama runs large language models locally through a command-line interface and an HTTP API. The Ollama server does not include an interactive Web UI; pair it with a frontend such as Open WebUI if you want browser-based chat.\n\nIt supports many models, including Llama, Mistral, Gemma, and Qwen, and provides an API for applications and integrations. Local models run on your own hardware; cloud models require an internet connection.\n\n**Key Features:**\n- **Local model execution**: Run supported models on your own hardware\n- **Model management**: Pull, run, and manage models with the CLI or API\n- **API integration**: Connect other applications to the Ollama server\n- **Privacy options**: Keep inference local when using local models\n\n**Learn More:**\n- [Ollama Official Website](https://ollama.com/)\n- [Ollama GitHub Repository](https://github.com/ollama/ollama)\n- [Model Library](https://ollama.com/library)": "Ollama führt große Sprachmodelle lokal über eine Befehlszeile und eine HTTP-API aus. Der Ollama-Server enthält keine interaktive Chat-Oberfläche im Browser. Dafür kannst du eine Oberfläche wie Open WebUI ergänzen.\n\nOllama unterstützt viele Modelle, darunter Llama, Mistral, Gemma und Qwen, und stellt eine API für Anwendungen und Integrationen bereit. Lokale Modelle laufen auf deiner eigenen Hardware; Cloud-Modelle benötigen eine Internetverbindung.\n\n**Wichtige Funktionen:**\n- **Lokale Modellausführung**: Unterstützte Modelle auf der eigenen Hardware ausführen\n- **Modellverwaltung**: Modelle über die CLI oder API herunterladen, starten und verwalten\n- **API-Integration**: Andere Anwendungen mit dem Ollama-Server verbinden\n- **Datenschutzoptionen**: Bei lokalen Modellen bleibt die Inferenz auf dem eigenen System\n\n**Weitere Informationen:**\n- [Offizielle Ollama-Website](https://ollama.com/)\n- [Ollama-Repository auf GitHub](https://github.com/ollama/ollama)\n- [Modellbibliothek](https://ollama.com/library)\n" } diff --git a/lang/es.json b/lang/es.json index 5b6b7497..dac36182 100644 --- a/lang/es.json +++ b/lang/es.json @@ -8917,5 +8917,7 @@ "⚠ Disk data will NOT be erased.": "⚠ Los datos del disco NO se borrarán.", "⚠ Disk will be unmounted and removed from /etc/fstab.": "⚠ El disco se desmontará y se eliminará de /etc/fstab.", "⚠ The /etc/fstab entry will be removed.": "⚠ Se eliminará la entrada /etc/fstab.", - "⚠ The disk will be unmounted.": "⚠ El disco se desmontará." + "⚠ The disk will be unmounted.": "⚠ El disco se desmontará.", + "Ollama API (no Web UI)": "API de Ollama (sin interfaz web)", + "Ollama runs large language models locally through a command-line interface and an HTTP API. The Ollama server does not include an interactive Web UI; pair it with a frontend such as Open WebUI if you want browser-based chat.\n\nIt supports many models, including Llama, Mistral, Gemma, and Qwen, and provides an API for applications and integrations. Local models run on your own hardware; cloud models require an internet connection.\n\n**Key Features:**\n- **Local model execution**: Run supported models on your own hardware\n- **Model management**: Pull, run, and manage models with the CLI or API\n- **API integration**: Connect other applications to the Ollama server\n- **Privacy options**: Keep inference local when using local models\n\n**Learn More:**\n- [Ollama Official Website](https://ollama.com/)\n- [Ollama GitHub Repository](https://github.com/ollama/ollama)\n- [Model Library](https://ollama.com/library)": "Ollama ejecuta grandes modelos de lenguaje en local mediante una interfaz de línea de comandos y una API HTTP. El servidor de Ollama no incluye una interfaz de chat en el navegador; para eso, puedes combinarlo con una interfaz como Open WebUI.\n\nAdmite muchos modelos, incluidos Llama, Mistral, Gemma y Qwen, y ofrece una API para aplicaciones e integraciones. Los modelos locales se ejecutan en tu propio hardware; los modelos en la nube requieren conexión a Internet.\n\n**Funciones principales:**\n- **Ejecución local de modelos**: Ejecuta los modelos compatibles en tu propio hardware\n- **Gestión de modelos**: Descarga, ejecuta y administra modelos mediante la CLI o la API\n- **Integración mediante API**: Conecta otras aplicaciones con el servidor de Ollama\n- **Opciones de privacidad**: Mantén la inferencia en local cuando utilices modelos locales\n\n**Más información:**\n- [Web oficial de Ollama](https://ollama.com/)\n- [Repositorio de Ollama en GitHub](https://github.com/ollama/ollama)\n- [Catálogo de modelos](https://ollama.com/library)\n" } diff --git a/lang/fr.json b/lang/fr.json index 0c92db71..30b4caa5 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -8944,5 +8944,7 @@ "⚠ Disk data will NOT be erased.": "⚠ Les données du disque ne seront PAS effacées.", "⚠ Disk will be unmounted and removed from /etc/fstab.": "⚠ Le disque sera démonté et supprimé de /etc/fstab.", "⚠ The /etc/fstab entry will be removed.": "⚠ L'entrée /etc/fstab sera supprimée.", - "⚠ The disk will be unmounted.": "⚠ Le disque sera démonté." + "⚠ The disk will be unmounted.": "⚠ Le disque sera démonté.", + "Ollama API (no Web UI)": "API Ollama (sans interface web)", + "Ollama runs large language models locally through a command-line interface and an HTTP API. The Ollama server does not include an interactive Web UI; pair it with a frontend such as Open WebUI if you want browser-based chat.\n\nIt supports many models, including Llama, Mistral, Gemma, and Qwen, and provides an API for applications and integrations. Local models run on your own hardware; cloud models require an internet connection.\n\n**Key Features:**\n- **Local model execution**: Run supported models on your own hardware\n- **Model management**: Pull, run, and manage models with the CLI or API\n- **API integration**: Connect other applications to the Ollama server\n- **Privacy options**: Keep inference local when using local models\n\n**Learn More:**\n- [Ollama Official Website](https://ollama.com/)\n- [Ollama GitHub Repository](https://github.com/ollama/ollama)\n- [Model Library](https://ollama.com/library)": "Ollama exécute de grands modèles de langage en local depuis une ligne de commande et une API HTTP. Le serveur Ollama ne comprend pas d’interface de chat dans le navigateur ; pour cela, vous pouvez lui associer une interface comme Open WebUI.\n\nIl prend en charge de nombreux modèles, dont Llama, Mistral, Gemma et Qwen, et fournit une API pour les applications et les intégrations. Les modèles locaux s’exécutent sur votre matériel ; les modèles cloud nécessitent une connexion Internet.\n\n**Fonctionnalités principales :**\n- **Exécution locale des modèles** : Exécuter les modèles pris en charge sur votre matériel\n- **Gestion des modèles** : Télécharger, lancer et gérer les modèles avec la CLI ou l’API\n- **Intégration par API** : Connecter d’autres applications au serveur Ollama\n- **Options de confidentialité** : Garder l’inférence en local avec des modèles locaux\n\n**En savoir plus :**\n- [Site officiel d’Ollama](https://ollama.com/)\n- [Dépôt Ollama sur GitHub](https://github.com/ollama/ollama)\n- [Bibliothèque de modèles](https://ollama.com/library)\n" } diff --git a/lang/it.json b/lang/it.json index eafd3be0..710b40b1 100644 --- a/lang/it.json +++ b/lang/it.json @@ -8945,5 +8945,7 @@ "⚠ Disk data will NOT be erased.": "⚠ I dati del disco NON verranno cancellati.", "⚠ Disk will be unmounted and removed from /etc/fstab.": "⚠ Il disco verrà smontato e rimosso da /etc/fstab.", "⚠ The /etc/fstab entry will be removed.": "⚠ La voce /etc/fstab verrà rimossa.", - "⚠ The disk will be unmounted.": "⚠ Il disco verrà smontato." + "⚠ The disk will be unmounted.": "⚠ Il disco verrà smontato.", + "Ollama API (no Web UI)": "API Ollama (senza interfaccia web)", + "Ollama runs large language models locally through a command-line interface and an HTTP API. The Ollama server does not include an interactive Web UI; pair it with a frontend such as Open WebUI if you want browser-based chat.\n\nIt supports many models, including Llama, Mistral, Gemma, and Qwen, and provides an API for applications and integrations. Local models run on your own hardware; cloud models require an internet connection.\n\n**Key Features:**\n- **Local model execution**: Run supported models on your own hardware\n- **Model management**: Pull, run, and manage models with the CLI or API\n- **API integration**: Connect other applications to the Ollama server\n- **Privacy options**: Keep inference local when using local models\n\n**Learn More:**\n- [Ollama Official Website](https://ollama.com/)\n- [Ollama GitHub Repository](https://github.com/ollama/ollama)\n- [Model Library](https://ollama.com/library)": "Ollama esegue localmente modelli linguistici di grandi dimensioni tramite riga di comando e API HTTP. Il server Ollama non include un’interfaccia di chat nel browser; per quella puoi affiancargli un’interfaccia come Open WebUI.\n\nSupporta molti modelli, tra cui Llama, Mistral, Gemma e Qwen, e mette a disposizione un’API per altre applicazioni e integrazioni. I modelli locali vengono eseguiti sul tuo hardware; quelli cloud richiedono una connessione Internet.\n\n**Funzionalità principali:**\n- **Esecuzione locale dei modelli**: Esegui i modelli supportati sul tuo hardware\n- **Gestione dei modelli**: Scarica, avvia e gestisci i modelli tramite CLI o API\n- **Integrazione API**: Collega altre applicazioni al server Ollama\n- **Opzioni per la privacy**: Mantieni l’inferenza in locale quando usi modelli locali\n\n**Per saperne di più:**\n- [Sito ufficiale di Ollama](https://ollama.com/)\n- [Repository di Ollama su GitHub](https://github.com/ollama/ollama)\n- [Libreria dei modelli](https://ollama.com/library)\n" } diff --git a/lang/pt.json b/lang/pt.json index 5ceaacba..db33c088 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -8945,5 +8945,7 @@ "⚠ Disk data will NOT be erased.": "⚠ Os dados do disco NÃO serão apagados.", "⚠ Disk will be unmounted and removed from /etc/fstab.": "⚠ O disco será desmontado e removido de /etc/fstab.", "⚠ The /etc/fstab entry will be removed.": "⚠ A entrada /etc/fstab será removida.", - "⚠ The disk will be unmounted.": "⚠ O disco será desmontado." + "⚠ The disk will be unmounted.": "⚠ O disco será desmontado.", + "Ollama API (no Web UI)": "API do Ollama (sem interface web)", + "Ollama runs large language models locally through a command-line interface and an HTTP API. The Ollama server does not include an interactive Web UI; pair it with a frontend such as Open WebUI if you want browser-based chat.\n\nIt supports many models, including Llama, Mistral, Gemma, and Qwen, and provides an API for applications and integrations. Local models run on your own hardware; cloud models require an internet connection.\n\n**Key Features:**\n- **Local model execution**: Run supported models on your own hardware\n- **Model management**: Pull, run, and manage models with the CLI or API\n- **API integration**: Connect other applications to the Ollama server\n- **Privacy options**: Keep inference local when using local models\n\n**Learn More:**\n- [Ollama Official Website](https://ollama.com/)\n- [Ollama GitHub Repository](https://github.com/ollama/ollama)\n- [Model Library](https://ollama.com/library)": "O Ollama executa grandes modelos de linguagem localmente por meio de uma linha de comandos e de uma API HTTP. O servidor Ollama não inclui uma interface de chat no navegador; para isso, pode combiná-lo com uma interface como o Open WebUI.\n\nÉ compatível com muitos modelos, incluindo Llama, Mistral, Gemma e Qwen, e disponibiliza uma API para aplicações e integrações. Os modelos locais são executados no seu próprio hardware; os modelos na nuvem precisam de uma ligação à Internet.\n\n**Funcionalidades principais:**\n- **Execução local de modelos**: Execute os modelos compatíveis no seu próprio hardware\n- **Gestão de modelos**: Transfira, execute e faça a gestão dos modelos pela CLI ou pela API\n- **Integração por API**: Ligue outras aplicações ao servidor Ollama\n- **Opções de privacidade**: Mantenha a inferência local quando utilizar modelos locais\n\n**Saiba mais:**\n- [Site oficial do Ollama](https://ollama.com/)\n- [Repositório do Ollama no GitHub](https://github.com/ollama/ollama)\n- [Biblioteca de modelos](https://ollama.com/library)\n" } diff --git a/lang/sk.json b/lang/sk.json index ba19689a..9c3425df 100644 --- a/lang/sk.json +++ b/lang/sk.json @@ -8947,5 +8947,7 @@ "⚠ Disk data will NOT be erased.": "⚠ Dáta na disku sa NEVYMAŽÚ.", "⚠ Disk will be unmounted and removed from /etc/fstab.": "⚠ Disk sa odpojí a odstráni z /etc/fstab.", "⚠ The /etc/fstab entry will be removed.": "⚠ Záznam v /etc/fstab bude odstránený.", - "⚠ The disk will be unmounted.": "⚠ Disk bude odpojený." + "⚠ The disk will be unmounted.": "⚠ Disk bude odpojený.", + "Ollama API (no Web UI)": "API Ollama (bez webového rozhrania)", + "Ollama runs large language models locally through a command-line interface and an HTTP API. The Ollama server does not include an interactive Web UI; pair it with a frontend such as Open WebUI if you want browser-based chat.\n\nIt supports many models, including Llama, Mistral, Gemma, and Qwen, and provides an API for applications and integrations. Local models run on your own hardware; cloud models require an internet connection.\n\n**Key Features:**\n- **Local model execution**: Run supported models on your own hardware\n- **Model management**: Pull, run, and manage models with the CLI or API\n- **API integration**: Connect other applications to the Ollama server\n- **Privacy options**: Keep inference local when using local models\n\n**Learn More:**\n- [Ollama Official Website](https://ollama.com/)\n- [Ollama GitHub Repository](https://github.com/ollama/ollama)\n- [Model Library](https://ollama.com/library)": "Ollama spúšťa veľké jazykové modely lokálne cez príkazový riadok a HTTP API. Server Ollama neobsahuje interaktívne webové rozhranie na chat; na to ho môžeš doplniť rozhraním, ako je Open WebUI.\n\nPodporuje mnoho modelov vrátane Llama, Mistral, Gemma a Qwen a poskytuje API pre aplikácie a integrácie. Lokálne modely bežia na tvojom hardvéri; cloudové modely vyžadujú internetové pripojenie.\n\n**Hlavné funkcie:**\n- **Lokálne spúšťanie modelov**: Spúšťaj podporované modely na svojom hardvéri\n- **Správa modelov**: Sťahuj, spúšťaj a spravuj modely cez CLI alebo API\n- **Integrácia cez API**: Pripoj k serveru Ollama ďalšie aplikácie\n- **Možnosti ochrany súkromia**: Pri lokálnych modeloch zostáva inferencia v tvojom zariadení\n\n**Ďalšie informácie:**\n- [Oficiálna stránka Ollama](https://ollama.com/)\n- [Repozitár Ollama na GitHube](https://github.com/ollama/ollama)\n- [Knižnica modelov](https://ollama.com/library)\n" } diff --git a/lang/sv.json b/lang/sv.json index 24dfbd02..2793094a 100644 --- a/lang/sv.json +++ b/lang/sv.json @@ -8945,5 +8945,7 @@ "⚠ Disk data will NOT be erased.": "⚠ Diskdata kommer INTE att raderas.", "⚠ Disk will be unmounted and removed from /etc/fstab.": "⚠ Disken kommer att avmonteras och tas bort från /etc/fstab.", "⚠ The /etc/fstab entry will be removed.": "⚠ /etc/fstab-posten kommer att tas bort.", - "⚠ The disk will be unmounted.": "⚠ Disken kommer att avmonteras." + "⚠ The disk will be unmounted.": "⚠ Disken kommer att avmonteras.", + "Ollama API (no Web UI)": "Ollama-API (inget webbgränssnitt)", + "Ollama runs large language models locally through a command-line interface and an HTTP API. The Ollama server does not include an interactive Web UI; pair it with a frontend such as Open WebUI if you want browser-based chat.\n\nIt supports many models, including Llama, Mistral, Gemma, and Qwen, and provides an API for applications and integrations. Local models run on your own hardware; cloud models require an internet connection.\n\n**Key Features:**\n- **Local model execution**: Run supported models on your own hardware\n- **Model management**: Pull, run, and manage models with the CLI or API\n- **API integration**: Connect other applications to the Ollama server\n- **Privacy options**: Keep inference local when using local models\n\n**Learn More:**\n- [Ollama Official Website](https://ollama.com/)\n- [Ollama GitHub Repository](https://github.com/ollama/ollama)\n- [Model Library](https://ollama.com/library)": "Ollama kör stora språkmodeller lokalt via kommandoraden och ett HTTP-API. Ollama-servern innehåller inget interaktivt chattgränssnitt i webbläsaren; lägg till ett gränssnitt som Open WebUI för det.\n\nOllama stöder många modeller, bland annat Llama, Mistral, Gemma och Qwen, och har ett API för andra program och integrationer. Lokala modeller körs på din egen hårdvara; molnmodeller kräver en internetanslutning.\n\n**Viktiga funktioner:**\n- **Lokal modellkörning**: Kör modeller som stöds på din egen hårdvara\n- **Modellhantering**: Hämta, starta och hantera modeller med CLI eller API\n- **API-integration**: Anslut andra program till Ollama-servern\n- **Integritetsalternativ**: Håll inferensen lokal när du använder lokala modeller\n\n**Läs mer:**\n- [Ollamas officiella webbplats](https://ollama.com/)\n- [Ollamas GitHub-arkiv](https://github.com/ollama/ollama)\n- [Modellbibliotek](https://ollama.com/library)\n" }