jueves, 9 de abril de 2026

Ollama en Fedora: Cómo instalarlo y usarlo desde el CLI, su API y Open WebUI

ollama en fedora inteligencia artificial

En el contexto actual de la inteligencia artificial, cada vez es más relevante poder ejecutar modelos de lenguaje de forma local (on-premise), sin depender de servicios externos. Esto no solo mejora la privacidad, sino que también reduce costos y latencia. En este escenario, Ollama se posiciona como una de las herramientas más prácticas para ejecutar modelos LLM (Large Language Models) directamente en tu máquina.

Nota importante: Esta guía está pensada como un laboratorio de pruebas y aprendizaje, ideal para ejecutar Ollama en entornos de desarrollo (por ejemplo, una laptop o estación de trabajo con CPU multicore y 16 GB de RAM). Sin embargo, si el objetivo es obtener mejor rendimiento, menor latencia y capacidad de atender múltiples solicitudes, se recomienda utilizar hardware más robusto, especialmente una GPU dedicada (preferiblemente NVIDIA con al menos 12–24 GB de VRAM), junto con 32–64 GB de RAM y almacenamiento NVMe. Esta configuración permite aprovechar plenamente el potencial de los modelos de lenguaje y llevar la solución a un entorno más cercano a producción.


¿Qué es Ollama?
Ollama es un runtime local para modelos de inteligencia artificial, diseñado para facilitar la ejecución de modelos como LLaMA 3, Codex, Claude Code y asistentes como OpenClaw.

Funciona como un servidor local que expone una API REST, permitiendo ejecutar modelos sin conexión a la nube (previamente descargados), integrar IA en aplicaciones propias y automatizar tareas con lenguaje natural. Podemos interactuar con Ollama desde la línea de comandos, así también mediante Open WebUI (contenerizado).


Instalación de Ollama:
fraterneo@fedora:~$ curl -fsSL https://ollama.com/install.sh | sh
>>> Installing ollama to /usr/local
[sudo] password for fraterneo: >>> Downloading ollama-linux-amd64.tar.zst ######################################################################## 100.0% >>> Creating ollama user... >>> Adding ollama user to render group... >>> Adding ollama user to video group... >>> Adding current user to ollama group... >>> Creating ollama systemd service... >>> Enabling and starting ollama service... Created symlink '/etc/systemd/system/default.target.wants/ollama.service' → '/etc/systemd/system/ollama.service'. >>> The Ollama API is now available at 127.0.0.1:11434. >>> Install complete. Run "ollama" from the command line.
Iniciar Ollama desde el CLI para que descargue llama3 (unos 5GB):
fraterneo@fedora:~$ ollama run llama3
pulling manifest pulling 6a0746a1ec1a: 100% ▕████████████████████████████████████████████████████▏ 4.7 GB pulling 4fa551d4f938: 100% ▕████████████████████████████████████████████████████▏ 12 KB pulling 8ab4849b038c: 100% ▕████████████████████████████████████████████████████▏ 254 B pulling 577073ffcc6c: 100% ▕████████████████████████████████████████████████████▏ 110 B pulling 3f8eb4da87fa: 100% ▕████████████████████████████████████████████████████▏ 485 B verifying sha256 digest writing manifest success >>> Send a message (/? for help)
Interacción con un prompt sencillo:
fraterneo@fedora:~$ ollama run llama3
>>> dame una lista de hoteles economicos en Puerto Plata, RD Aquí te dejo una lista de hoteles económicos en Puerto Plata, República Dominicana: 1. **Hotel Cortecito**: Un hotel con 24 habitaciones y suites a un precio asequible, ubicado en el corazón del centro histórico de Puerto Plata. Precio: aproximadamente $40-$60 USD por noche. 2. **Hostal La Casa del Sol**: Un hostal con 12 habitaciones y una atmósfera relajada, situado en la zona céntrica de Puerto Plata. Precio: aproximadamente $30-$50 USD por noche. 3. **Hotel Villa Colonial**: Un hotel con 25 habitaciones y suites, ubicado a pocos pasos del Malecón de Puerto Plata. Precio: aproximadamente $40-$70 USD por noche. 4. **Casa Conde Hotel Puerto Plata**: Un hotel con 140 habitaciones y suites, situado en la playa de Puerto Plata. Precio: aproximadamente $60-$100 USD por noche. 5. **Hotel La Residencia**: Un hotel con 16 habitaciones y suites, ubicado en el corazón del centro histórico de Puerto Plata. Precio: aproximadamente $50-$80 USD por noche. 6. **Hostal El Jardín**: Un hostal con 10 habitaciones y una atmósfera agradable, situado en la zona céntrica de Puerto Plata. Precio: aproximadamente $25-$40 USD por noche. 7. **Hotel Puerta del Mar**: Un hotel con 30 habitaciones y suites, ubicado en la playa de Puerto Plata. Precio: aproximadamente $50-$80 USD por noche. 8. **Hostal La Casa de los Abuelos**: Un hostal con 6 habitaciones y una atmósfera familiar, situado en el corazón del centro histórico de Puerto Plata. Precio: aproximadamente $20-$35 USD por noche. Es importante tener en cuenta que los precios pueden variar dependiendo de la temporada y la disponibilidad, así que te recomiendo verificar los precios y ofertas en los sitios web de cada hotel o hostal antes de hacer una reserva. También es recomendable leer las reseñas y revisiones de otros viajeros para obtener una idea más precisa de la calidad del servicio y las condiciones del hotel. >>> Send a message (/? for help)

API de Ollama
Ollama expone su API REST en http://localhost:11434/api/generate, por lo que podemos realizar pruebas usando curl y enviar un prompt sencillo y esperar respuesta en la misma línea de comandos. Dicho prompt debe ir dentro de una estructura en formato .JSON y la respuesta del modelo también viene en ese mismo formato con muchos metadatos que en éste momento no nos interesan, así que lo filtraremos el campo response usando el comando jq.

fraterneo@fedora:~$ curl http://localhost:11434/api/generate -d '{ "model": "llama3", "prompt": "Explica en 50 palabras que es el Kernel Linux", "stream": false }' | jq '.response'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1048  100   951  100    97    101     10  0:00:09  0:00:09 --:--:--   298

"El kernel Linux es el núcleo del sistema operativo Linux.
Es responsable de gestionar los recursos del sistema, como la memoria y los
dispositivos, y de proporcionar servicios básicos como el manejo
de procesos, la gestión de archivos y la comunicación con hardware."

¿Qué es Open WebUI?
Es una interfaz web de código abierto y autoalojada diseñada para interactuar con modelos de lenguaje y sistemas de IA. Su objetivo es ofrecer una alternativa ligera, personalizable y centrada en la privacidad a las plataformas comerciales de chat con IA.

Instalación de Docker:
fraterneo@fedora:~$ sudo dnf install -y docker
[sudo] password for fraterneo: Updating and loading repositories: Repositories loaded. Package Arch Version Repository Size Installing: moby-engine x86_64 29.3.1-1.fc43 updates 103.8 MiB Installing dependencies: container-selinux noarch 4:2.247.0-1.fc43 updates 74.2 KiB containerd x86_64 2.1.6-1.fc43 updates 89.7 MiB docker-cli x86_64 29.3.1-1.fc43 updates 28.2 MiB libbsd x86_64 0.12.2-6.fc43 fedora 423.2 KiB libmd x86_64 1.1.0-8.fc43 fedora 102.8 KiB libnet x86_64 1.3-6.fc43 fedora 132.5 KiB libslirp x86_64 4.9.1-2.fc43 fedora 152.8 KiB moby-filesystem noarch 29.3.1-1.fc43 updates 0.0 B pigz x86_64 2.8-7.fc43 fedora 163.0 KiB rootlesskit x86_64 2.3.6-2.fc43 updates 23.6 MiB runc x86_64 2:1.4.1-1.fc43 updates 10.3 MiB slirp4netns x86_64 1.3.1-3.fc43 fedora 89.3 KiB tini-static x86_64 0.19.0-11.fc43 fedora 774.1 KiB Installing weak dependencies: criu x86_64 4.2-11.fc43 updates 1.6 MiB docker-buildx x86_64 0.31.1-1.fc43 updates 92.9 MiB moby-engine-nano noarch 29.3.1-1.fc43 updates 103.7 KiB moby-engine-rootless-extras noarch 29.3.1-1.fc43 updates 24.4 KiB Transaction Summary: Installing: 18 packages Total size of inbound packages is 90 MiB. Need to download 90 MiB. After this operation, 352 MiB extra will be used (install 352 MiB, remove 0 B). [ 1/18] pigz-0:2.8-7.fc43.x86_64 100% | 506.9 KiB/s | 95.3 KiB | 00m00s [ 2/18] moby-filesystem-0:29.3.1-1.fc43 100% | 303.9 KiB/s | 16.1 KiB | 00m00s [ 3/18] container-selinux-4:2.247.0-1.f 100% | 537.1 KiB/s | 58.0 KiB | 00m00s [ 4/18] docker-cli-0:29.3.1-1.fc43.x86_ 100% | 4.3 MiB/s | 8.0 MiB | 00m02s [ 5/18] tini-static-0:0.19.0-11.fc43.x8 100% | 3.2 MiB/s | 322.3 KiB | 00m00s [ 6/18] runc-2:1.4.1-1.fc43.x86_64 100% | 5.6 MiB/s | 3.5 MiB | 00m01s [ 7/18] moby-engine-nano-0:29.3.1-1.fc4 100% | 1.3 MiB/s | 56.8 KiB | 00m00s [ 8/18] moby-engine-rootless-extras-0:2 100% | 619.3 KiB/s | 24.2 KiB | 00m00s [ 9/18] rootlesskit-0:2.3.6-2.fc43.x86_ 100% | 4.9 MiB/s | 7.4 MiB | 00m02s [10/18] moby-engine-0:29.3.1-1.fc43.x86 100% | 4.0 MiB/s | 22.4 MiB | 00m06s [11/18] criu-0:4.2-11.fc43.x86_64 100% | 3.7 MiB/s | 579.4 KiB | 00m00s [12/18] libbsd-0:0.12.2-6.fc43.x86_64 100% | 1.6 MiB/s | 122.5 KiB | 00m00s [13/18] libnet-0:1.3-6.fc43.x86_64 100% | 1.1 MiB/s | 60.1 KiB | 00m00s [14/18] libmd-0:1.1.0-8.fc43.x86_64 100% | 963.6 KiB/s | 47.2 KiB | 00m00s [15/18] slirp4netns-0:1.3.1-3.fc43.x86_ 100% | 955.8 KiB/s | 46.8 KiB | 00m00s [16/18] libslirp-0:4.9.1-2.fc43.x86_64 100% | 1.3 MiB/s | 78.6 KiB | 00m00s [17/18] docker-buildx-0:0.31.1-1.fc43.x 100% | 5.6 MiB/s | 21.2 MiB | 00m04s [18/18] containerd-0:2.1.6-1.fc43.x86_6 100% | 3.2 MiB/s | 26.2 MiB | 00m08s -------------------------------------------------------------------------------- [18/18] Total 100% | 9.4 MiB/s | 90.1 MiB | 00m10s Running transaction [ 1/20] Verify package files 100% | 82.0 B/s | 18.0 B | 00m00s [ 2/20] Prepare transaction 100% | 93.0 B/s | 18.0 B | 00m00s [ 3/20] Installing moby-filesystem-0:29 100% | 18.6 KiB/s | 400.0 B | 00m00s [ 4/20] Installing docker-cli-0:29.3.1- 100% | 276.9 MiB/s | 28.2 MiB | 00m00s [ 5/20] Installing libslirp-0:4.9.1-2.f 100% | 21.5 MiB/s | 154.3 KiB | 00m00s [ 6/20] Installing slirp4netns-0:1.3.1- 100% | 6.3 MiB/s | 90.7 KiB | 00m00s [ 7/20] Installing libmd-0:1.1.0-8.fc43 100% | 12.8 MiB/s | 104.5 KiB | 00m00s [ 8/20] Installing libbsd-0:0.12.2-6.fc 100% | 51.8 MiB/s | 424.7 KiB | 00m00s [ 9/20] Installing libnet-0:1.3-6.fc43. 100% | 26.2 MiB/s | 134.0 KiB | 00m00s [10/20] Installing rootlesskit-0:2.3.6- 100% | 251.1 MiB/s | 23.6 MiB | 00m00s [11/20] Installing runc-2:1.4.1-1.fc43. 100% | 149.2 MiB/s | 10.3 MiB | 00m00s [12/20] Installing containerd-0:2.1.6-1 100% | 305.4 MiB/s | 89.8 MiB | 00m00s [13/20] Installing tini-static-0:0.19.0 100% | 13.8 MiB/s | 775.4 KiB | 00m00s [14/20] Installing container-selinux-4: 100% | 7.7 KiB/s | 77.8 KiB | 00m10s [15/20] Installing pigz-0:2.8-7.fc43.x8 100% | 2.6 MiB/s | 164.5 KiB | 00m00s >>> Running sysusers scriptlet: moby-engine-0:29.3.1-1.fc43.x86_64 >>> Finished sysusers scriptlet: moby-engine-0:29.3.1-1.fc43.x86_64 >>> Scriptlet output: >>> Creating group 'docker' with GID 975. >>> [16/20] Installing moby-engine-0:29.3.1 100% | 429.7 MiB/s | 104.0 MiB | 00m00s >>> Running %post scriptlet: moby-engine-0:29.3.1-1.fc43.x86_64 >>> Finished %post scriptlet: moby-engine-0:29.3.1-1.fc43.x86_64 >>> Scriptlet output: >>> Created symlink '/etc/systemd/system/sockets.target.wants/docker.socket' → ' >>> [17/20] Installing moby-engine-rootless 100% | 1.7 MiB/s | 24.8 KiB | 00m00s [18/20] Installing criu-0:4.2-11.fc43.x 100% | 42.1 MiB/s | 1.6 MiB | 00m00s [19/20] Installing docker-buildx-0:0.31 100% | 404.4 MiB/s | 93.0 MiB | 00m00s [20/20] Installing moby-engine-nano-0:2 100% | 14.3 KiB/s | 104.4 KiB | 00m07s Complete!
Habilitar/Iniciar el servicio de Docker:
fraterneo@fedora:~$ sudo systemctl enable --now docker.service
Created symlink '/etc/systemd/system/multi-user.target.wants/docker.service' → '/usr/lib/systemd/system/docker.service'.
Desplegar Open WebUI:
fraterneo@fedora:~$ sudo docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Unable to find image 'ghcr.io/open-webui/open-webui:main' locally
main: Pulling from open-webui/open-webui
4f4fb700ef54: Pull complete 
c6aec87f9665: Pull complete 
84a2afebaf4d: Pull complete 
0ca4ca8e967f: Pull complete 
4afda7e4a767: Pull complete 
bb97a7af1971: Pull complete 
71c87fe6927a: Pull complete 
1076a6959a11: Pull complete 
ca10a397ad2d: Pull complete 
74ee6a0d91be: Pull complete 
cb6955fc6e74: Pull complete 
f4178cf3eeb9: Pull complete 
9846260f66de: Pull complete 
5801121de8a4: Pull complete 
8dc200665289: Pull complete 
3642169f0cc5: Download complete 
dd4723f56f9c: Download complete 
Digest: sha256:b8095f79a6a8ffad8f830bdacc9b5b0aef805689b31bca0b065cc2424d3cfaeb
Status: Downloaded newer image for ghcr.io/open-webui/open-webui:main
74a26297324121d30dbfdc4c1df99532aa148c7efd97f57fcd33dc15cd17c396

Accedemos a Open WebUI mediante el navegador http://localhost:8080

pagina principal openwebui localhost
Páginal principal de Open WebUI en localhost


creacion usuario administrador open webui
Creación del usuario administrador de Open WebUI


open webui ollama model chat
Listos para usar el modelo llama3 desde Open WebUI



Ollama es una herramienta clave para quienes desean llevar la inteligencia artificial al entorno local, permitiendo construir soluciones avanzadas sin depender de servicios externos. Su facilidad de instalación, junto con su API simple, lo convierten en una opción ideal tanto para desarrolladores como para profesionales de ciberseguridad que buscan control total sobre sus datos.

Si has tenido experiencia previa con Ollama y Open WebUI o éste es tu primer contacto con éstas tecnologías a través de ésta guía, deja tus inquietudes y comentarios mas abajo... 


Referencias:



Artículos relacionados



Widget by Hoctro | Jack Book

0 comments:

Publicar un comentario